if not exists(select * from a)  
print 'select * from a的查询结果为空'

解决方案 »

  1.   

    如下也可
    select * from a
    if @@rowcount = 0 
    print 'select * from a的查询结果为空'
      

  2.   

    if exists(select * from a) 表示当a表中有数据时条件为真
      

  3.   

    可以,也可以:if exists(select 1 from a)
      

  4.   

    if exists(select * from a)
    print '无记录'
    else
    print '有记录'
      

  5.   

    这样一个存储过程:
    1. USE football
    2. GO
    3. CREATE PROCEDURE InsertCustomerInformation
    4.                 @Customer_name varchar(20),
    5.                 @Money_type char(5),
    6.                 @MobileTel varchar(20),
    7.                 @Telephone varchar(20),
    8.  @Note varchar(300),
    9.                 @MaxCustomer_id int output 
    10. AS
    11.
    12. if exists(SELECT * FROM CustomerInformation)
    13.    SELECT @MaxCustomer_id = max(Customer_id) + 1 FROM CustomerInformation
    14. else
    15.   set  @MaxCustomer_id = 1
    16. INSERT INTO CustomerInformation(Customer_id,Customer_name,Money_type,MobileTel,Telephone,Note) 
    VALUES(@MaxCustomer_id, 
           @Customer_name,
           @Money_type,
           @MobileTel,
           @Telephone,
           @Note)
    17. GO
    请注意第12到15句,由于Customer_id 不能为空,所以当第一次添加记录的时候,表中没有记录,为了避免赋空值,我加上了12,13,14,15共四句,可当我调用这个过程的时候,还是报错,不能添加空值。为何会这样。???
      

  6.   

    if exists(select * from a)
    print '有记录'
    else
    print '无记录'更正一下楼上某位的错误
      

  7.   

    1: 可能是其它的字段值也不能为空。
    2:没必要加4句,12. if exists(SELECT * FROM CustomerInformation)
    13.    SELECT @MaxCustomer_id = max(Customer_id) + 1 FROM CustomerInformation
    14. else
    15.   set  @MaxCustomer_id = 1改为
    SELECT @MaxCustomer_id = max(Customer_id) FROM CustomerInformation
    set @MaxCustomer_id = IsNull(@MaxCustomer_id,0) + 1