中国开发网: 论坛: 程序员情感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一个表时使用。。。。。
我的blog:http://szhaitao.blog.hexun.com & http://www.hoolee.com/user/haitao
--以上均为泛泛之谈--
不尽牛人滚滚来,无边硬伤纷纷现 人在江湖(出来的),哪能不挨刀(总归是要的)
网络对话,歧义纷生;你以为明白了对方的话,其实呢?

您所在的IP暂时不能使用低版本的QQ,请到:http://im.qq.com/下载安装最新版的QQ,感谢您对QQ的支持和使用

相关信息:


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