declare @a int
set @a=3
exec('SELECT ID_Num = IDENTITY(int,'+ @a + ', 1)
INTO NewTable
FROM oldtable')

解决方案 »

  1.   

    用动态的sql
    declare @str varchar(4000),@i int
    set @i=4-- 你自己给赋值
    set @str=''
    set @str='SELECT ID_Num = IDENTITY(int, '+@i+', 1)
    INTO NewTable
    FROM OldTable'
    exec(@str)
      

  2.   

    declare @a int
    set @a=3
    exec('SELECT ID_Num = IDENTITY(int,'+ cast(@a as varchar) + ', 1)
    INTO NewTable
    FROM oldtable')
      

  3.   

    --不能直接用变量,这样改:
    declare @a int
    set @a=3declare @s varchar(8000)
    set @s='SELECT ID_Num = IDENTITY(int,'+ cast(@a as varchar) + ', 1)
    INTO NewTable
    FROM oldtable'
    exec(@s)