自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在SQL過(guò)程和SQL語(yǔ)句中測(cè)試DB2臨時(shí)表

數(shù)據(jù)庫(kù)
本文將會(huì)為您測(cè)試在分別在SQL過(guò)程以及SQL語(yǔ)句中創(chuàng)建臨時(shí)表,并插入數(shù)據(jù)后,執(zhí)行結(jié)果有何異同之處,供您參考,希望對(duì)您有所啟迪。

本文將會(huì)為您測(cè)試在DB2數(shù)據(jù)庫(kù)中,分別在SQL過(guò)程以及SQL語(yǔ)句中創(chuàng)建臨時(shí)表,并插入數(shù)據(jù)后,執(zhí)行結(jié)果有何異同之處,供您參考,希望對(duì)您有所啟迪。
 
測(cè)試目標(biāo):
 
分別在SQL過(guò)程和SQL語(yǔ)句中創(chuàng)建臨時(shí)表,并插入數(shù)據(jù),看執(zhí)行結(jié)果有什么異同。
 
測(cè)試環(huán)境:
 
DB2 UDB V9.1
 
執(zhí)行附件里面的SQL語(yǔ)句,得到一個(gè)表。
 
測(cè)試代碼和運(yùn)行結(jié)果:
 
一、臨時(shí)
DB2臨時(shí)表在SQL過(guò)程和SQL語(yǔ)句中的測(cè)試總結(jié)
 
測(cè)試目標(biāo):
 
分別在SQL過(guò)程和SQL語(yǔ)句中創(chuàng)建臨時(shí)表,并插入數(shù)據(jù),看執(zhí)行結(jié)果有什么異同。
 
測(cè)試環(huán)境:
 
DB2 UDB V9.1
 
執(zhí)行附件里面的SQL語(yǔ)句,得到一個(gè)表。#p#
 
測(cè)試代碼和運(yùn)行結(jié)果:
 
一、臨時(shí)表在SQL語(yǔ)句中
 
-- 定義一個(gè)全局臨時(shí)表SESSION.RESULT
DECLARE GLOBAL TEMPORARY TABLE SESSION.RESULT
    ( 
         TMP_HYDM   VARCHAR(10),    -- 行業(yè)代碼
         TMP_HYMC   VARCHAR(300)   -- 行業(yè)名稱
    )
     WITH REPLACE
  NOT LOGGED; 
-- 插入數(shù)據(jù)到臨時(shí)表   
INSERT INTO  SESSION.RESULT
SELECT MLDM,MLMC FROM DM_HY_CY;
 
-- 查詢臨時(shí)表數(shù)據(jù)   
SELECT * FROM SESSION.RESULT;
 
測(cè)試結(jié)果:以上SQL代碼正常執(zhí)行,但是沒有查詢到任何數(shù)據(jù)。
 
 二、臨時(shí)表在SQL存儲(chǔ)過(guò)程中
 
CREATE PROCEDURE SP_TEST_TMEP (  )#p#
        DYNAMIC RESULT SETS 1
------------------------------------------------------------------------
-- 語(yǔ)言:DB2 SQL 存儲(chǔ)過(guò)程
------------------------------------------------------------------------
P1: BEGIN
        -- 定義一個(gè)全局臨時(shí)表SESSION.RESULT
        DECLARE GLOBAL TEMPORARY TABLE SESSION.RESULT
            ( 
                        TMP_HYDM   VARCHAR(10),   -- 行業(yè)代碼
                        TMP_HYMC   VARCHAR(300)   -- 行業(yè)名稱
            )
             WITH REPLACE       -- 如果存在此臨時(shí)表,則替換                            
                 NOT LOGGED;    -- 不在日志里紀(jì)錄
 
         -- 插入數(shù)據(jù)到臨時(shí)表
        INSERT INTO  SESSION.RESULT
        SELECT MLDM,MLMC FROM DM_HY_CY;#p#
 
P2: BEGIN
        -- 游標(biāo)對(duì)客戶機(jī)應(yīng)用程序保持打開
        DECLARE CUR_RES CURSOR WITH RETURN FOR
                SELECT * FROM SESSION.RESULT;
        OPEN CUR_RES;
END P2;
END P1
 
測(cè)試結(jié)果:存儲(chǔ)過(guò)程執(zhí)行成功,并返回了插入的目標(biāo)數(shù)據(jù)。
 
測(cè)試總結(jié):
 
1、在SQL語(yǔ)句中,構(gòu)建臨時(shí)表是沒有意義的,因?yàn)楫?dāng)SQL語(yǔ)句執(zhí)行處于自動(dòng)提交模式下時(shí),執(zhí)行后就COMMIT了,而一旦執(zhí)行了COMMIT語(yǔ)句,臨時(shí)表將從內(nèi)存中清除。
 
2、在SQL過(guò)程中,臨時(shí)表定義后,如果沒有顯式執(zhí)行到COMMIT語(yǔ)句,則臨時(shí)表一直存在。并且臨時(shí)表支持INSERT INTO ... SELECT ... 的語(yǔ)句。
 
3、在DB2下,臨時(shí)表的模式必須為SESSION,SESSION模式下表是一個(gè)內(nèi)存表,這個(gè)SESSION是DB2特有的SCHEMA,SESSION對(duì)象的聲明周期僅僅限于一次數(shù)據(jù)連接“會(huì)話”,一旦會(huì)話結(jié)束,SESSION對(duì)象就被從內(nèi)存中清除了,這和JSP中的內(nèi)置對(duì)象SESSION類似。
 
 

責(zé)任編輯:段燃 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-09-06 15:13:05

DB2

2010-11-04 15:39:40

DB2 SQL語(yǔ)句

2010-11-11 11:25:45

SQL UPDATE語(yǔ)

2009-07-22 14:44:36

ibmdw

2010-11-01 11:13:57

DB2表管理

2010-11-02 14:37:58

DB2臨時(shí)表定義

2010-11-04 13:55:26

DB2 SQL腳本批量

2010-09-06 10:43:15

DB2 SQL存儲(chǔ)過(guò)程

2010-08-05 10:20:29

DB2數(shù)據(jù)庫(kù)動(dòng)態(tài)

2010-11-03 11:55:23

DB2公共表表達(dá)式

2011-08-17 21:49:55

建立視圖SQL ServerOracle

2011-08-17 21:23:41

約束NOT NULLUNIQUE

2010-08-18 13:59:04

DB2純SQL存儲(chǔ)過(guò)程

2010-09-06 10:54:52

DB2 sql 存儲(chǔ)過(guò)

2010-09-01 10:08:54

DB2SQL語(yǔ)句

2010-11-04 12:00:59

db2存儲(chǔ)過(guò)程

2011-08-22 17:41:25

SQL ServerOracleDB2

2011-08-17 20:48:25

索引建立語(yǔ)句非聚集索引唯一索引

2010-09-30 16:00:40

DB2動(dòng)態(tài)SQL

2010-08-19 14:11:29

DB2臨時(shí)表
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)