直接定义时候,不可以那如果你写成动态sql,倒是可以算是用变量

解决方案 »

  1.   

    MorningTea(一勺抹茶)
    都五角了 :)
      

  2.   

    declare @maxnum int
    select @maxnum=max(num) from a
    select num=IDENTITY(int,@maxnum,1) into b..
    好像不可以啊?該如何寫呢??
      

  3.   

    回复人: ls_jingwen(靜雯) ( ) 信誉:100  2005-08-30 14:44:00  得分: 0  
     
     
       declare @maxnum int
    select @maxnum=max(num) from a
    select num=IDENTITY(int,@maxnum,1) into b..
    好像不可以啊?該如何寫呢??--
    declare @maxnum int
    declare @sql as varchar(4000)
    select @maxnum=max(num) from a
    set @sql = 'select identity(int,' + convert(varchar(10),@maxnum) + ',1) into b ...'
    exec(@sql)
      
     
      

  4.   

    对,直接用变量是不行的,要用动态sql,拼接sql语句,然后再exec执行.declare @maxnum int
    declare @sql as nvarchar(500)
    select @maxnum=max(num) from a
    set @sql = 'select identity(int,' + convert(varchar(10),@maxnum) + ',1) into b ...'
    exec(@sql)