日期:2014-05-17  浏览次数:20488 次

如何声明和初始化表变量?
类似如下的语句,正确的写法是什么?谢谢

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
------解决方案--------------------
引用:
类似如下的语句,正确的写法是什么?谢谢


SQL code
?



123

declare @t tableset t= (select id, name from t2)
table 初始化
不正确,可以看联机丛书上的例子
------解决方案--------------------
declare @t table(id int,name varchar(10))  --这里

insert into @t(id,name)
select id,name from t2

------解决方案--------------------
引用:
引用:
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(100))
insert into @t select id,[name] from tb
select * from @t
能否简写成一条语句?


--那就成临时表了,表变量需要声明
select *
into #tb
from tb