DECLARE @min VARCHAR(20)
DECLARE @oldDate VARCHAR(20)
set @min='fid'
 
EXEC(' select  '+ @min+'   from    dbo.fbase ') --查出来的值是0 ,请问怎么把这个值弄到@oldDate
 select @oldDate   
我这个是要写在触发器里面的

解决方案 »

  1.   

    DECLARE @min VARCHAR(20)
    DECLARE @oldDate VARCHAR(20)
    set @min='fid'
     
    EXEC(' select @oldDate =  '+ @min+'   from    dbo.fbase ') 
    select @oldDate   
      

  2.   

    EXEC(' select @oldDate = '+ @min+' from dbo.fbase ') 必须声明变量 '@oldDate'。
      

  3.   

    DECLARE @min VARCHAR(20)
    DECLARE @oldDate VARCHAR(20)
    DECLARE @sqls nvarchar(4000)set @min='name'
    set @sqls='select @a='+@min+' from dbo.fbase'EXEC sp_executesql @sqls,N'@a varchar(20) output',@oldDate output
    select @oldDate  
      

  4.   

    DECLARE @min VARCHAR(20)
    DECLARE @oldDate VARCHAR(20) OUTPUT
    set @min='fid'
     
    EXEC sp_executesql 'select @oldDate =  '+ @min+'   from    dbo.fbase',@oldDATE output
     
      

  5.   

    4楼正确请问如果在触发器里怎么写?
    set @sqls='select @a='+@min+'  from deleted '
    这样会提示没有Deleted的
      

  6.   

    那就不能传动态的
    直接显示指定@min这个值 或者通过分支语句去判断
      

  7.   


    DECLARE @min VARCHAR(20)
    DECLARE @oldDate VARCHAR(20)
    DECLARE @sqls nvarchar(4000)
    SELECT * INTO ##TB FROM DELETED
    set @min='name'
    set @sqls='select @a='+@min+' from ##TB'EXEC sp_executesql @sqls,N'@a varchar(20) output',@oldDate output
    select @oldDate  
      

  8.   

    set @min='name'
    这里目的是什么 @min很多种情况吗
      

  9.   

     http://topic.csdn.net/u/20110524/16/b08d09ac-034c-4cbb-9b40-b1acc45e7c94.html请转看一楼和八楼
      

  10.   

    DECLARE @min VARCHAR(20)
    DECLARE @oldDate VARCHAR(20),@sqls nvarchar(1000)
    set @min='fid'set @sqls='select @oldDate='+ @min+'   from    a'
    EXEC sp_executesql @sqls,N'@oldDate varchar(20) output',@oldDate output
    select @oldDate 
      

  11.   

    DECLARE @min VARCHAR(20)
    DECLARE @oldDate VARCHAR(20),@sqls nvarchar(1000)
    set @min='fid'set @sqls='select @oldDate='+ @min+' from dbo.fbase'
    EXEC sp_executesql @sqls,N'@oldDate varchar(20) output',@oldDate output
    select @oldDate 
      

  12.   

    DECLARE @min VARCHAR(20)
    DECLARE @oldDate VARCHAR(20)
    set @min='fid'
     
    select @oldDate = @min  from    dbo.fbase 
    print(@oldDate)