查到可以用以下语句将变量声明一个表类型
DECLARE @TableVar TABLE (Cola int PRIMARY KEY, Colb char(3))但是,如何将一个变量声明为一个已知的表呢?
即如果我有表A
create table A (Cola int PRIMARY KEY, Colb char(3))
我如何根据表A来定义变量@TableVar 呢?
DECLARE @TableVar TABLE (Cola int PRIMARY KEY, Colb char(3))但是,如何将一个变量声明为一个已知的表呢?
即如果我有表A
create table A (Cola int PRIMARY KEY, Colb char(3))
我如何根据表A来定义变量@TableVar 呢?
(
cola int primary key,
colb char(3)
)然后你在存储过程里可以通过:
declare @tablevar as dbo.A的语句将表变量@tablevar的类型指定为刚才定义好的dbo.A就行了,将来只要直接修改表类型dbo.A即可,不用再修改存储过程了。
PS:表类型也可以作为存储过程和函数的输入参数的类型来使用。