掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流
本文將會為您測試在DB2數(shù)據(jù)庫中,分別在SQL過程以及SQL語句中創(chuàng)建臨時表,并插入數(shù)據(jù)后,執(zhí)行結果有何異同之處,供您參考,希望對您有所啟迪。
測試目標:
分別在SQL過程和SQL語句中創(chuàng)建臨時表,并插入數(shù)據(jù),看執(zhí)行結果有什么異同。
測試環(huán)境:
DB2 UDB V9.1
執(zhí)行附件里面的SQL語句,得到一個表。
測試代碼和運行結果:
一、臨時
DB2臨時表在SQL過程和SQL語句中的測試總結
測試目標:
分別在SQL過程和SQL語句中創(chuàng)建臨時表,并插入數(shù)據(jù),看執(zhí)行結果有什么異同。
測試環(huán)境:
DB2 UDB V9.1
執(zhí)行附件里面的SQL語句,得到一個表。#p#
測試代碼和運行結果:
一、臨時表在SQL語句中
-- 定義一個全局臨時表SESSION.RESULT
DECLARE GLOBAL TEMPORARY TABLE SESSION.RESULT
(
TMP_HYDM VARCHAR(10), -- 行業(yè)代碼
TMP_HYMC VARCHAR(300) -- 行業(yè)名稱
)
WITH REPLACE
NOT LOGGED;
-- 插入數(shù)據(jù)到臨時表
INSERT INTO SESSION.RESULT
SELECT MLDM,MLMC FROM DM_HY_CY;
-- 查詢臨時表數(shù)據(jù)
SELECT * FROM SESSION.RESULT;
測試結果:以上SQL代碼正常執(zhí)行,但是沒有查詢到任何數(shù)據(jù)。
二、臨時表在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), -- 行業(yè)代碼
TMP_HYMC VARCHAR(300) -- 行業(yè)名稱
)
WITH REPLACE -- 如果存在此臨時表,則替換
NOT LOGGED; -- 不在日志里紀錄
-- 插入數(shù)據(jù)到臨時表
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
測試結果:存儲過程執(zhí)行成功,并返回了插入的目標數(shù)據(jù)。
測試總結:
1、在SQL語句中,構建臨時表是沒有意義的,因為當SQL語句執(zhí)行處于自動提交模式下時,執(zhí)行后就COMMIT了,而一旦執(zhí)行了COMMIT語句,臨時表將從內存中清除。
2、在SQL過程中,臨時表定義后,如果沒有顯式執(zhí)行到COMMIT語句,則臨時表一直存在。并且臨時表支持INSERT INTO ... SELECT ... 的語句。
3、在DB2下,臨時表的模式必須為SESSION,SESSION模式下表是一個內存表,這個SESSION是DB2特有的SCHEMA,SESSION對象的聲明周期僅僅限于一次數(shù)據(jù)連接“會話”,一旦會話結束,SESSION對象就被從內存中清除了,這和JSP中的內置對象SESSION類似。

在網(wǎng)站設計制作、做網(wǎng)站過程中,需要針對客戶的行業(yè)特點、產品特性、目標受眾和市場情況進行定位分析,以確定網(wǎng)站的風格、色彩、版式、交互等方面的設計方向。創(chuàng)新互聯(lián)還需要根據(jù)客戶的需求進行功能模塊的開發(fā)和設計,包括內容管理、前臺展示、用戶權限管理、數(shù)據(jù)統(tǒng)計和安全保護等功能。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流