Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

kembalikan hanya hasil pemilihan terakhir dari prosedur tersimpan

Gunakan variabel tabel:

create procedure xxxSearch @a nvarchar(80), @b nvarchar(80)...
as 
begin
  DECLARE @res TABLE(...)
  INSERT INTO @res(...)
  select whatever 
    from MyTable t
    where ((@a is null and t.a is null) or (@a = t.a)) and
          ((@b is null and t.b is null) or (@b = t.b))...

    if @@ROWCOUNT = 0
    begin
        INSERT INTO @res(...)
        select whatever 
          from MyTable t
          where ((@a is null) or (@a = t.a)) and
                ((@b is null) or (@b = t.b))...
          if @@ROWCOUNT = 0
          begin
             ...
          end
    end
    SELECT ... FROM @res
end


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa membagi nilai kolom menjadi kolom yang berbeda dalam SQL

  2. Kolom apa yang umumnya membuat indeks bagus?

  3. Menggabungkan dua tabel dengan SQL

  4. 4 Cara untuk Memeriksa Apakah Tabel Ada Sebelum Menjatuhkannya di SQL Server (T-SQL)

  5. Temukan dan Ganti Semua Karakter Khusus dalam SQL