日期:2014-05-18  浏览次数:20442 次

新建表变量后,如何给该表加字段?
declare @dtb table(o int, t varchar(50), n varchar(50)); 

alter table @dtb add cn int; 

第二行加字段报错,如何给@dtb加新字段?

------解决方案--------------------
此路不通,换一种思路。
------解决方案--------------------
表变量,那你在定义的时候直接加上就可以了,何必在后边加,而且没这样的吧!
------解决方案--------------------
表变量声明后不能被修改,如果一定要改,可以考虑另声明一个表变量,声明后将前表变量中的数据插入到新表变量中去.
------解决方案--------------------
表变量不能修改结构另外:

  1)表变量是存储在内存中的,当用户在访问表变量的时候,SQL Server是不产生日志的,而在临时表中是产生日志的;
  2)在表变量中,是不允许有非聚集索引的;
  3)表变量是不允许有DEFAULT默认值,也不允许有约束;
  4)临时表上的统计信息是健全而可靠的,但是表变量上的统计信息是不可靠的;
  5)临时表中是有锁的机制,而表变量中就没有锁的机制。
------解决方案--------------------
探讨

引用:
用临时表,使用的时候select * into 动态创建列。
或使用动态sql创建。


能否给个具体示例语句,thanks