使用table資料型別變數獲得臨時表

2021-09-05 22:34:52 字數 1014 閱讀 1164

**:

table資料型別是一種特殊的資料型別,用於儲存結果集以供後續處理。該資料型別主要用於臨時儲存一組行,這些行將作為錶值函式的結果集返回

table資料型別最主要的用途是作為多條資料記錄的臨時儲存之處,此外還可以作為乙個使用者定義函式的返回值。

使用者需要注意使用declare @local_variable來宣告table型別的變數

--宣告table變數@var_tablegoods

declare @var_tablegoods table

(訂單編號 [int] not null,

書籍編號 [int] not null,

單價 [money] not null,

數量 [smallint] not null,

折扣 [real] not null

)--將」作者表」中統計的資料新增到table變數@var_tableauthor

insert into @var_tablegoods

select * from 訂貨表

--將table變數@var_tableauthor中的內容顯示出來

select * from @var_tablegoods

table變數有以下優點:

1)table變數的行為類似於區域性變數,定義有明確的作用域,該作用域為宣告該變數的函式、儲存過程或批處理的作用範圍。

2)在其作用域內,table變數可像常規表那樣使用。該變數可應用於select、insert、update和delete語句中用到表或表的表示式的地方。

3)在定義table變數的函式、儲存過程或批處理結束時,自動清除table變數

4)在儲存過程中使用表變數與使用臨時表相比,減少了儲存過程的重新編譯量。

5)涉及表變數的事務只在表變數更新期存在,這樣就減少了表變數對鎖定和記錄資源的需求。

6)不支援在表變數之間進行賦值操作。另處,由於表變數作用域有限,並且不是持久資料庫的一部分,因而不受事務回滾的影響。

Oracle中table資料資料型別

function f returndescription varid in varchar2 return varchar2 isnumdatacount number 12 mytable ly familyproperty rowtype begin select count 1 into nu...

變數 資料型別

記錄資料 每一次 的值可能會變,用變數抽象代指 數學變數 設x 求 y 3 x 10 1.變數的宣告及初始化 型別關鍵字 變數名 初始值 變數名 純字母 組合 非關鍵字 字母1.數字不能開頭 long x1 3 int x2 3 short x3 3 byte x4 127 x4 5 x4 x1 變...

變數 資料型別

c語言 是一門強型別 資料型別之分 面向過程的語言 注 是以模組 函式 過程 單位,執行的單位 程式 演算法 資料 c語言的資料 一,原始檔 存放高階語言的檔案 字尾名 c 二,程式的入口函式 程式開始的地方 主函式 三,整型,浮點型,字元型 常量 變數 1,整型常量100 0100 0x100 2...