取第N条至第M条记录select top M-N+1 * from (select top M from [table]) t order by id desc

解决方案 »

  1.   

    判断表是否存在
    if exists (select * from dbo.sysobjects where id = object_id(N'[所有者].[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
      

  2.   

    例:求第4-5条记录
    例表:
    s#   sname                age         sex  rowguid                              
    ---- -------------------- ----------- ---- ------------------------------------ 
    s1   wang                 20          m    A1C4E69A-29E0-481B-8DED-8C195F1E7C9E
    s2   zhou                 19          m    563B7239-C763-4EE3-A40A-D1FF0B197D52
    s3   chen                 22          m    FC57F24D-F158-4AB0-B409-400AE8C1479A
    s4   wu                   19          m    29A0FD0F-CD2C-4089-B9F4-05CFD856F150
    s5   lou                  21          f    C4124838-4029-4203-8A4A-44A60C1E9AC5
    s6   feng                 19          m    DD31152E-1502-4203-9E13-06517A12E7EA
    s7   zhang                20          f    F001D308-C4C8-402E-AB73-0E6D79A175C9
    s8   dong                 18          f    6F1E05C2-C844-4315-A1A6-87DF445C39B7
    s9   peng                 20          m    A9BCF105-2051-4AA3-B4B0-0820DD9E36E0(所影响的行数为 9 行)
    执行语句select top 2 * from (select top 5 * from s) a order by s# desc
    问题二:判断S表中是否存在S#列if exists (select * from syscolumns where id=object_id(N's')
     and name='s#') print 1
    else
     print 0