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

2021-05-23 00:14:19 字數 1688 閱讀 4075

sql中table型資料與使用者自定義函式(downmoon)

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

@tablevar 

table 

int 

primary 

key 

,colb  

char 

( 3 

))into 

@tablevar 

values 

( 1 

,  ' 

abc ' )

into 

@tablevar 

values 

( 2 

,  ' 

def ' )

* from 

@tablevar

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

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

function 

cubicvolume

@cubelength 

decimal 

( 4 

, 1 

), @cubewidth 

decimal 

( 4 

, 1 

), @cubeheight 

decimal 

( 4 

, 1 

) )decimal 

( 12 

, 3 )( 

@cubelength 

* @cubewidth 

* @cubeheight 

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

pubs

function 

salesbystore( 

@storeid 

varchar 

( 30 

))table 

( 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 型資料的例子 declare tablevar table col...

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

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

sql 中 table變數的使用

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