Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

chỉ trả lại các kết quả được chọn cuối cùng từ quy trình đã lưu trữ

Sử dụng một biến bảng:

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. Sử dụng SELECT SCOPE_IDENTITY () trong ADODB Recordset

  2. Sử dụng ÁP DỤNG CROSS cho nhiều cột

  3. Tự động giải quyết xung đột hợp nhất khóa chính

  4. Sử dụng SQL Server trong một giao dịch XA được phân phối

  5. Cách ngăn công việc máy chủ Sql chạy đồng thời