create proc updateTeacherStatue
@tName nvarchar(50),
@cName nvarchar(50),
@sStatus nvarchar(50),
@tTeacher int
as
update tableName=@tName set cellName=@cName,Statue=@sStatus,cellName="Statue" where Ts_TeacherID=@tTeacherID消息 102,级别 15,状态 1,过程 updateTeacherStatue,第 7 行
'=' 附近有语法错误。
  这个哪里错了 怎么解决  在线等  谢谢各位了

解决方案 »

  1.   


    是不是根据传入的参数,动态构建sqlcreate proc updateTeacherStatue
    @tName nvarchar(50),
    @cName nvarchar(50),
    @sStatus nvarchar(50),
    @tTeacherID int
    as
    declare @sql varchar(2000)
    set @sql = 'update tableName= ' +@tName + '  set cellName = ' + @cName + ',Statue= ' +@sStatus + ',cellName=''Statue'' where Ts_TeacherID= ' + cast(@tTeacherID as varchar) +''
    exec(@sql)
      

  2.   

    更正一下,update后面直接跟表名create proc updateTeacherStatue
    @tName nvarchar(50),
    @cName nvarchar(50),
    @sStatus nvarchar(50),
    @tTeacherID int
    asdeclare @sql varchar(2000)set @sql = 'update ' +@tName + '  set cellName = ' + @cName + ',Statue= ' +@sStatus + ',cellName=''Statue'' where Ts_TeacherID= ' + cast(@tTeacherID as varchar) +''exec(@sql)
      

  3.   

    谢谢了  就是这个  动态构建sql还不会 我去看看书 
      

  4.   

    不清楚的话,在exec前,print @sql出来看看,拼接对不对就可以了
      

  5.   


    update tableName=@tName 
    set cellName=@cName,Statue=@sStatus,cellName='Statue'
    where Ts_TeacherID=@tTeacherID
      

  6.   

    create proc updateTeacherStatue
    @tName nvarchar(50),
    @cName nvarchar(50),
    @sStatus nvarchar(50),
    @tTeacher int
    as
    DECLARE @SQL VARCHAR(8000)
    SET @SQL='UPDATE '+@tName+' SET cellName='''+@cName+''',Statue='''+@sStatus+''',cellName=''''Statue'''' WHERE Ts_TeacherID='+CAST(@tTeacher AS VARCHAR)
    PRINT @SQL
    EXEC (@SQL)
    这样试试
      

  7.   

    cellName="Statue" 改成 cellName='Statue'
      

  8.   

    应该是单引号呀 ,呵呵
    update tableName=@tName set cellName=@cName,Statue=@sStatus,cellName='Statue' where Ts_TeacherID=@tTeacherID