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 ... ......
下面是我搜集的一些精妙的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语句,取出表A中的第31条到40条记录(表A以自动增长的ID做主键,注意ID可能是不连续的)
-->select top 10 * from a where id not in (select top 30 id from a order by id) order by id
查询前十条记录,但条件是:ID不在前三十条的ID里面
-->select top 10 * from (select top 40 ......
作者: sealyu 日期:2008-04-17
在SQL Server 中,如果给表的一个字段设置了默认值,就会在系统表sysobjects中生成一个默认约束。
如果想删除这个设置了默认值的字段(假设此字段名column1),
执行“ALTER TABLE table1 DROP COLUMN column1”时就会报错:
The object 'DF__xxxxxxxxxxx' ......
在列出表中所有字段名的时候,用到了这样一个SQL函数:object_id
这里我将其作用与用法列出来,好让大家明白:
OBJECT_ID:
返回数据库对象标识号。
语法
OBJECT_ID ( 'object' )
参数
'object'
要使用的对象。object 的数据类型为 char 或 nchar。如果 object 的数据类型是 char,那么隐性将其转换成 ncha ......