读书人

再问关于SysColumns解决办法

发布时间: 2012-04-05 12:42:39 作者: rapoo

再问,关于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.

读书人网 >SQL Server

热点推荐