like  5001%需要单引号的吧

解决方案 »

  1.   

     like 这样加单引号 会报错吧?
      

  2.   

    create proc  pro_allforaccount
    @database  nvarchar(255)
    as declare @sql varchar(max)set @sql = 'select fparentid,faccountid,fnumber,fname,flevel,fdetail  from' +@database+ '.dbo.t_account  where  fnumber like  ''5001%'' AND  FDETAIL=TRUE order by flevel,fnumber  asc'  
    exec(@sql)
    drop  proc  pro_allforaccount建议你PRINT(@SQL)看看
      

  3.   

    ALTER proc  pro_allforaccount
    @database  nvarchar(255) as 
     declare @sql varchar(max)set @sql = 'select fparentid,faccountid,fnumber,fname,flevel,fdetail  from ' +QUOTENAME(@database)+ '.dbo.t_account  where  fnumber like  ''5001%'' AND  FDETAIL=TRUE order by flevel,fnumber  asc'  
    exec(@sql)
    drop  proc  pro_allforaccount
      

  4.   

    4楼代码运行后消息 156,级别 15,状态 1,第 1 行
    关键字 'proc' 附近有语法错误。
    消息 137,级别 15,状态 2,第 7 行
    必须声明标量变量 "@database"。
      

  5.   

    你是直接贴文本的吧?网页代码会有时候乱掉,你用SQL Code右边那个【复制】按钮,或者直接吧我set @sql=xxxxx那段替换掉你原有那个