中国开发网: 论坛: 程序员情感CBD: 贴子 591053
haitao
【技术贴,数据库,mssql】mssql2000以后,多了一个表变量,据说性能比临时表好很多,但是需要预先知道每一个字段并定义好
mssql2000以后,多了一个表变量,据说性能比临时表好很多,但是需要预先知道每一个字段并定义好
临时表可以“select 一系列字段 into #临时表 from ...”一下子自动直接得到与“一系列字段”一致的表结构
如果用表变量,需要先:
declare @tbxxx table (字段1 定义,字段2 定义,...字段n 定义)
然后 insert @tbxxx select 字段1,字段2,...字段n from ...
这样显然繁琐了很多,而且 字段1,字段2,...字段n 需要写2遍,日后如需要修改,一定要2边一起改!

如果表变量也支持自动根据查询得到表结构,就好了
可惜sql2005也没支持这样的“需求”

问题背景:想把2个无关的表(记录数相同)在一个记录集里输出
如果支持这样的写法,也许不会用到表变量:
select a.*,b.*
from (select identity(int) faid, fa1,fa2...fan from tba ...) a
left join (select identity(int) fbid, fb1,fb2...fbm from tbb ...) b on a.faid=b.fbid
可惜mssql的identity函数只能在into一个表时使用。。。。。

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录