table table - 北京怡康軟件科技有限公司 資源網(wǎng) "/>
一種特殊的數(shù)據(jù)類型,用于存儲(chǔ)結(jié)果集以供后續(xù)處理。該數(shù)據(jù)類型主要用于臨時(shí)存儲(chǔ)一組行,這些行將作為表值函數(shù)的結(jié)果集返回。
說(shuō)明 使用 DECLARE @local_variable 聲明 table 類型的變量。
table_type_definition ::=
TABLE (
{ column_definition | table_constraint
} [ ,...n
] )
column_definition
::=
column_name scalar_data_type
[ COLLATE collation_definition ]
[ [ DEFAULT constant_expression ] | IDENTITY [ ( seed , increment ) ] ]
[ ROWGUIDCOL ]
[ column_constraint ] [ ...n ]
column_constraint ::=
{ [ NULL | NOT NULL ]
| [ PRIMARY KEY | UNIQUE ]
| CHECK ( logical_expression )
}
table_constraint ::=
{ { PRIMARY KEY | UNIQUE } ( column_name [ ,...n
] )
| CHECK ( search_condition )
}
table_type_definition
與 CREATE TABLE 中定義表所用的信息子集相同的信息子集。表聲明包括列定義、名稱、數(shù)據(jù)類型和約束。允許的約束類型僅為 PRIMARY KEY、UNIQUE KEY 和 NULL。
有關(guān)語(yǔ)法的更多信息,請(qǐng)參見(jiàn) CREATE TABLE、CREATE FUNCTION 和 DECLARE @local_variable。
collation_definition
是由 Microsoft® Windows™ 區(qū)域設(shè)置和比較風(fēng)格、Windows 區(qū)域設(shè)置和二進(jìn)制表示法或 Microsoft SQL Server™ 排序規(guī)則組成的列的排序規(guī)則。
可將函數(shù)和變量聲明為 table 類型。table 變量可用于函數(shù)、存儲(chǔ)過(guò)程和批處理中。
盡可能使用表變量而不使用臨時(shí)表。table 變量有以下優(yōu)點(diǎn):
在其作用域內(nèi),table 變量可像常規(guī)表那樣使用。該變量可應(yīng)用于 SELECT、INSERT、UPDATE 和 DELETE 語(yǔ)句中用到表或表的表達(dá)式的地方。但是,table 不能用在下列語(yǔ)句中:
INSERT INTO table_variable EXEC 存儲(chǔ)過(guò)程。
SELECT select_list INTO table_variable
語(yǔ)句。
在定義 table 變量的函數(shù)、存儲(chǔ)過(guò)程或批處理結(jié)束時(shí),自動(dòng)清除 table 變量。
不支持在表變量之間進(jìn)行賦值操作。另外,由于表變量作用域有限,并且不是持久數(shù)據(jù)庫(kù)的一部分,因而不受事務(wù)回滾的影響。
相關(guān)文章