SQL中Table型資料與使用者自定義函式

2021-04-06 16:24:24 字數 1306 閱讀 9410

sql server 2000 新增了table型資料:table型資料不能用來定義列的型別,只能用作t-sql變數或者作為自定義函式的返回值,下例是乙個簡單的table 型資料的例子:

declare @tablevar table

(cola int primary key,colb char(3))

insert into @tablevar values (1, 'abc')

insert into @tablevar values (2, 'def')

select * from @tablevar

以上語句定義了乙個名為tablevar,有兩列的table 型變數像通常的表一樣table 型資料也有insert select 等操作。在sql server 2000 中table 型資料與使用者自定義函式是密不可分的,sql server 2000支援兩種型別的函式:內建函式和使用者定義函式。內建函式只允許t-sql 語句呼叫而不能更改使用。使用者定義函式可以根據需要定義自己所需的函式。

使用者定義函式可以帶引數,也可以不帶引數,但只能返回單值。正是由於這個原因sql server 2000 增加了table 型資料,其值可以是整型字元型或數值型。下例是乙個簡單的使用者定義函式說明了使用者定義函式的基本結構:

create function cubicvolume

(@cubelength decimal(4,1),@cubewidth decimal(4,1),@cubeheight decimal(4,1) )

returns decimal(12,3)

asbegin

return (@cubelength * @cubewidth * @cubeheight)

end在上例中用create function 建立了乙個函式cubicvolume 來計算立方體的體積,變數cubelength cubewidth cubeheight 為輸入引數,返回值為數值型。begin 表明函式體的開始,end 表明函式體的結束。通過下例 我們就會清楚使用者定義函式與table 型資料是如何有機結合的:

use pubs

create function salesbystore(@storeid varchar(30))

returns table

asreturn (select title, qty from sales s, titles t

where s.stor_id = @storeid and t.title_id = s.title_id)

-- select * from sales

select * from pubs.dbo.salesbystore(7131)

SQL中Table型資料與使用者自定義函式

sql中table型資料與使用者自定義函式 downmoon sql server 2000 新增了table型資料 table型資料不能用來定義列的型別,只能用作t sql變數或者作為自定義函式的返回值,下例是乙個簡單的table 型資料的例子 tablevar table int primary...

SQL中Table型資料與使用者自定義函式

sql中table型資料與使用者自定義函式 downmoon sql server 2000 新增了table型資料 table型資料不能用來定義列的型別,只能用作t sql變數或者作為自定義函式的返回值,下例是乙個簡單的table 型資料的例子 declare tablevar table col...

sql 中 table變數的使用

sql server 2000 新增了table型資料 table型資料不能用來定義列的型別,只能用作t sql變數或者作為自定義函式的返回值。sql server 2000支援兩種型別的函式 內建函式和使用者定義函式。內建函式只允許t sql 語句呼叫而不能更改使用。使用者定義函式可以根據需要定義...