sql >> データベース >  >> RDS >> Sqlserver

ストアド プロシージャから最後の選択結果のみを返す

    テーブル変数を使用する:

    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. MySQLでコンバージョン率を計算する方法は?

    2. 表の貸方と借方の列から実行中の残高を選択します

    3. phpとMySQLを使用したテーブルアコーディオン

    4. Dockerボリュームはデータを保持しません