set select @GroupPower=GroupPower from GroupInfo where GroupID=@GroupID 
把前面的set去掉.
 
select * from Operator where GroupID in(select GroupID from GroupInfo where GroupPower like " '%"+@GroupPower+"%')" 
改成
select * from Operator where GroupID in (select GroupID from GroupInfo where GroupPower like '%'+@GroupPower+'%')

解决方案 »

  1.   

    set select @GroupPower=GroupPower from GroupInfo where GroupID=@GroupID 
    set是多余的,select就有赋值功能SQL中不支持双引号吧
      

  2.   


    CREATE PROCEDURE ups_CheckNodeOperator 
    @GroupID int 
    AS 
    declare @GroupPower varchar(200) 
    select @GroupPower=GroupPower from GroupInfo where GroupID=@GroupID exec('select * from Operator where GroupID in(select GroupID from GroupInfo where GroupPower like ''%'+@GroupPower+'%''') 
      

  3.   

    用动态执行SQL 语句
    declare @Name varchar(200) 
    declare @str varchar(200) set @Name='成'
    set @str='select GroupID from GroupInfo where GroupPower  like ''%' + @Name + '%'''
    print @str
    EXEC (@str)