想要达到以下目的:
首先从sysobjects表中查询数据赋值给@SSQL
设置赋值条件:假如@ssql的值和不等于bbbbbb的值相同,就把@SSQL赋值为空!否则@ssql等于初始变量值
代码如下:不知道哪里有错误,请高手解答!谢谢
declare @ssql varchar(8000)
set @ssql='select name from sysobjects order by name'
if @ssql='select name from sysobjects where name<>''bbbbbb''order by name'
begin
select @ssql=''
end

解决方案 »

  1.   

    你这什么逻辑'select name from sysobjects order by name'能等于'select name from sysobjects where name<>''bbbbbb''order by name'吗?
      

  2.   

    declare @ssql varchar(8000)
    select @ssql=name from sysobjects order by name
    @ssql!='bbbbbb'
        select @ssql=''
      

  3.   

    当然你取的@ssql要有限定条件,照你就一个order by是取不出唯一值的
      

  4.   


    --刚才4楼把if不小心删了,补一下...
    declare @ssql varchar(8000)
    select @ssql=name from sysobjects order by name
    if @ssql<>'bbbbbb'
        select @ssql=''
      

  5.   

    这个逻辑貌似有点问题哦,你已经给了@ssql一个值了,那下面的if是不可能判断的。
    把set @ssql='select name from sysobjects order by name'中给@ssql的值设置成变化的,这样你的语句才能判断的下去吧!~~~
      

  6.   

    你直接判断 (按照名字升序排序)sysobjects中的第一个对象的名字 是bbbbbb的话
    @ssql就是空  不是的话 就是第一个对象的名字 
    是这个逻辑不
      

  7.   

    declare @ssql varchar(8000)
    select top 1 @ssql=name from sysobjects --where ...   这里可加限定条件
    order by name 
    if @ssql<>'bbbbbb'
        set @ssql=''
      

  8.   

    我想通过判断sysobjects中是否含有bbbbbb,来执行选择
    if 含有bbbbbb
    语句块1
    else
    语句块2
      

  9.   


    if exists(select 1 from sysobjects where name='bbbbbb')
    begin
    ...
    end
    else
    begin
    ...
    end
      

  10.   

    楼主逻辑不对,你要判断sysobjects中是否含有bbbbbb,直接对sysobjects操作不就行了,何必再通过中间变量呢