首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

再问,关于SysColumns解决办法

2012-04-05 
再问,关于SysColumnsm_test有2个列,一个是monchar(15),虽然是char,但是由数字组成,开头允许为0。另外一个是

再问,关于SysColumns
m_test   有2个列,一个是mon   char(15),虽然是char,但是由数字组成,开头允许为0。
另外一个是日期,不多描述。我想要通过SysColumns来实现效率更高的插入操作。
------------------------------------
declare   @a   char(15),@b   char(15),@c   numeric(9),@S1   varchar(800)
Select   @a= '001234567891234 ',@b= '001234568891234 ',@c=cast(@b   as   numeric)-cast(@a   as   numeric)

Select   @s1= 'select   Top   '+   rtrim(@c)   +   '   ident=identity(numeric, '+@a+ ',1)   into   #Table_Pqs   from   SysColumns   A,SysColumns   B '

Exec(@s1)

Insert   Into   m_test(mon,limitDay)   Select   right( '000000000000000 '+ident,15),getdate()   from   #Table_Pqs   where   ident <=cast(@b   as   numeric)

------------
希望得到的效果是

mon                                       limitDay
001234567891234               getdate()的时间
001234567891235               getdate()的时间
001234567891236               getdate()的时间
001234567891237               getdate()的时间
001234567891238               getdate()的时间
001234567891239               getdate()的时间
。。。                                 。。。
001234568891234               getdate()的时间

[解决办法]
需要使用全局临时表(##Table_Pqs)而不能是局部临时表(#Table_Pqs ).请将#Table_Pqs改为##Table_Pqs.

热点排行