如何声明和初始化表变量?
类似如下的语句,正确的写法是什么?谢谢
declare @t table
set t= (select id, name from t2)
table
初始化
------解决方案--------------------declare @t table(id int,[name] varchar(100))
insert into @t select id,[name] from tb
select * from @t
------解决方案--------------------不正确,可以看联机丛书上的例子
------解决方案--------------------declare @t table(id int,name varchar(10)) --这里
insert into @t(id,name)
select id,name from t2
------解决方案--------------------必须先定义,才能使用,其实它只是一个特殊的变量而已,你其他变量能写成一条吗?
------解决方案--------------------
--那就成临时表了,表变量需要声明
select *
into #tb
from tb