DB2临时表在SQL过程
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。
DB2临时表在SQL过程和SQL语句中的测试总结
测试目标:
分别在SQL过程和SQL语句中创建临时表,并插入数据,看执行结果有什么异同。
测试环境:
DB2 UDB V9.1
执行附件里面的SQL语句,得到一个表。
测试代码和运行结果:
一、临时表在SQL语句中
-- 定义一个全局临时表SESSION.RESULT
DECLARE GLOBAL TEMPORARY TABLE SESSION.RESULT
(
TMP_HYDM VARCHAR(10), -- 行业代码
TMP_HYMC VARCHAR(300) -- 行业名称
)
WITH REPLACE
NOT LOGGED;
-- 插入数据到临时表
INSERT INTO SESSION.RESULT
SELECT MLDM,MLMC from DM_HY_CY;
-- 查询临时表数据
SELECT * from SESSION.RESULT;
测试结果:以上SQL代码正常执行,但是没有查询到任何数据。
二、临时表在SQL存储过程中
CREATE PROCEDURE SP_TEST_TMEP ( )
DYNAMIC RESULT SETS 1
------------------------------------------------------------------------
-- 语言:DB2 SQL 存储过程
-- 说明:用来测试通过查询插入临时表数据
-- 作者:熔 岩
-- 日期:2008-08-31
------------------------------------------------------------------------
P1: BEGIN
-- 定义一个全局临时表SESSION.RESULT
DECLARE GLOBAL TEMPORARY TABLE SESSION.RESULT
(
TMP_HYDM VARCHAR(10), -- 行业代码
&n
相关文档:
刚刚在inthirties老大的博客里看到这篇文章,写的不错,正好自己最近在学习PL/SQL,转过来学习学习。
==================================================================================
bulk collect是可以看做是一种批获取的方式,在我们的plsql的代码段里经常作为into的扩展来使用。对于select id into v from ... ......
1、select 1 from mytable;与select anycol(目的表集合中的任意一行) from mytable;与select * from mytable 作用上来说是没有差别的,都是查看是否有记录,一般是作条件用的。select 1 from 中的1是一常量,查到的所有行的值都是它,但从效率上来说,1>anycol>*,因为不用查字典表。
2、查看记录条数可以用select ......
下面是我搜集的一些精妙的SQL语句。
说明:复制表(只复制结构,源表名:a 新表名:b)
SQL: select * into b from a where 1<>1
说明:拷贝表(拷贝数据,源表名:a 目标表名:b)
SQL: insert into b(a, b, c) select d,e,f from b;
说明:显示文章、提交人和最后回复时间
SQL: select a.title,a.username,b.adddat ......
sql注入,所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.
当应用程序使用输入内容来构造动 ......