新聞中心
本文將會(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í)行,但是沒(méi)有查詢到任何數(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í)表是沒(méi)有意義的,因?yàn)楫?dāng)SQL語(yǔ)句執(zhí)行處于自動(dòng)提交模式下時(shí),執(zhí)行后就COMMIT了,而一旦執(zhí)行了COMMIT語(yǔ)句,臨時(shí)表將從內(nèi)存中清除。
2、在SQL過(guò)程中,臨時(shí)表定義后,如果沒(méi)有顯式執(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類似。

在網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站過(guò)程中,需要針對(duì)客戶的行業(yè)特點(diǎn)、產(chǎn)品特性、目標(biāo)受眾和市場(chǎng)情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計(jì)方向。創(chuàng)新互聯(lián)還需要根據(jù)客戶的需求進(jìn)行功能模塊的開發(fā)和設(shè)計(jì),包括內(nèi)容管理、前臺(tái)展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計(jì)和安全保護(hù)等功能。
新聞名稱:在SQL過(guò)程和SQL語(yǔ)句中測(cè)試DB2臨時(shí)表
分享網(wǎng)址:http://www.dlmjj.cn/article/dpopide.html


咨詢
建站咨詢
