本文将会为您测试在DB2数据库中,分别在SQL过程以及SQL语句中创建临时表,并插入数据后,执行结果有何异同之处,供您参考,希望对您有所启迪。
  
 测试目标:
  
 分别在SQL过程和SQL语句中创建临时表,并插入数据,看执行结果有什么异同。
  
 测试环境:
  
 DB2 UDB V9.1
  
 执行附件里面的SQL语句,得到一个表。
   
 测试代码和运行结果:
  
 一、临时
 DB2临时表在SQL过程和SQL语句中的测试总结
  
 测试目标:
  
 分别在SQL过程和SQL语句中创建临时表,并插入数据,看执行结果有什么异同。
  
 测试环境:
  
 DB2 UDB V9.1
  
 执行附件里面的SQL语句,得到一个表。#p#
   
 测试代码和运行结果:
  
 一、临时表在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 (  )#p#
         DYNAMIC RESULT SETS 1
 ------------------------------------------------------------------------
 -- 语言:DB2 SQL 存储过程 
 ------------------------------------------------------------------------
 P1: BEGIN
         -- 定义一个全局临时表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;#p#
  
 P2: BEGIN
         -- 游标对客户机应用程序保持打开
         DECLARE CUR_RES CURSOR WITH RETURN FOR
                 SELECT * FROM SESSION.RESULT;
         OPEN CUR_RES;
 END P2; 
 END P1
  
 测试结果:存储过程执行成功,并返回了插入的目标数据。
  
 测试总结:
  
 1、在SQL语句中,构建临时表是没有意义的,因为当SQL语句执行处于自动提交模式下时,执行后就COMMIT了,而一旦执行了COMMIT语句,临时表将从内存中清除。
  
 2、在SQL过程中,临时表定义后,如果没有显式执行到COMMIT语句,则临时表一直存在。并且临时表支持INSERT INTO ... SELECT ... 的语句。
  
 3、在DB2下,临时表的模式必须为SESSION,SESSION模式下表是一个内存表,这个SESSION是DB2特有的SCHEMA,SESSION对象的声明周期仅仅限于一次数据连接“会话”,一旦会话结束,SESSION对象就被从内存中清除了,这和JSP中的内置对象SESSION类似。
  
 

在网站设计制作、做网站过程中,需要针对客户的行业特点、产品特性、目标受众和市场情况进行定位分析,以确定网站的风格、色彩、版式、交互等方面的设计方向。创新互联还需要根据客户的需求进行功能模块的开发和设计,包括内容管理、前台展示、用户权限管理、数据统计和安全保护等功能。
网站题目:在SQL过程和SQL语句中测试DB2临时表
本文链接:http://jxjierui.cn/article/dpopide.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 