代码如下:
tp2不做修改最好,如必须做修改那修改越少越好
if exists(select 1 from sysobjects where name='tp1')drop proc tp1
if exists(select 1 from sysobjects where name='tp2')drop proc tp2
gocreate proc  tp1
@param char
as
exec tp2 @param
/*if...  */
--我想在这里判断,如果tp2中返回了至少一个结果集,就执行某一操作,应如何写?
gocreate proc tp2
@param char
as
select 1 from sysobjects where name=@param
go

解决方案 »

  1.   

    create proc  tp1
        @param char
    as
    declare @t table(id int)
    insert @t exec tp2 @param
    if exists(select 1 from @t)
    print '有結果集'
      

  2.   

    為什麼不把這個存儲過程tp1呢
    select 1 from sysobjects where name=@param
      

  3.   


    支持  用if else判断
      

  4.   

    create proc tp2
        @param char
    as
    select 1 from sysobjects where name=@param
    if @@error = 0
       return 0
    else
       return 1
    gocreate proc  tp1
        @param char
    as
    declare @i int
    select @I = exec tp2 @param
    ....go
      

  5.   


    不好意思,更正一下
    create proc tp2 
        @param char 
    as 
    select 1 from sysobjects where name=@param 
    if @@error = 0 
      return 0 
    else 
      return 1 
    go create proc  tp1 
        @param char 
    as 
    declare @i int 
    exec @I = tp2 @param 
    .... go  
      

  6.   

    if exists(select 1 from sysobjects where name='tp1')drop proc tp1
    if exists(select 1 from sysobjects where name='tp2')drop proc tp2
    gocreate proc  tp1
        @param char
    as
    exec tp2 @param
    /*if...  */
    IF (SELECT COUNT(*) FROM TB )>0
    gocreate proc tp2
        @param char
    as
    select 1 from sysobjects where name=@param
    go
      

  7.   

    create proc  tp1
        @param char
    as
    exec tp2 @param
    if @@ROWCOUNT<>0
    print '有结果'
    go
      

  8.   

    create proc  tp1
        @param char
    as
    exec tp2 @param
    if @@ROWCOUNT<>0
    print '有结果'

    go
      

  9.   

    create proc  tp1
        @param char
    as
    exec tp2 @param
    if @@rowcount=0
    --我想在这里判断,如果tp2中返回了至少一个结果集,就执行某一操作,应如何写?
    go
      

  10.   


    create proc  tp1
        @param char
    as
    exec tp2 @param
    if @@rowcount=0--一行都没有的情况
    --我想在这里判断,如果tp2中返回了至少一个结果集,就执行某一操作,应如何写?
    go 
      

  11.   

    if @@ROWCOUNT<>0
    print '有结果'
      

  12.   

    @@ROWCOUNT最适合我的需要,谢谢各位!