0

この質問にはいくつかの回答があることは知っていますが、それらのどれも私のニーズに合わないので、ここに私の質問があります

このSQL Fiddleに基づいて、私が達成しようとしていることを説明します。

単純な人物のテーブルであることがわかります。ID で人物を取得したいので、取得するための簡単なクエリSELECT * FROM Persons WHERE PersonID =@PersonID;を作成する必要があります。可能な組み合わせでこれを実行すると、大量のストアド プロシージャを取得できます。このテーブルのためだけに

そこで、このすべての機能を 1 つにまとめたストアド プロシージャを作成するにはどうすればよいかという質問があります。ここで LastName 'Schmidt' を指定するだけで、すべての Schmidt を取得できるようになります。彼女にニューヨークのすべてのポールを頼むより

簡単にするために:

  • このストアド プロシージャが "AND" しか処理できなければ十分です。
  • また、すべての列を選択すれば十分です
4

1 に答える 1

1

次のようなことを試してください:

SELECT * FROM Persons
WHERE PersonID  = ifnull(@PersonID,personID)
  AND LastName  = ifnull(@LastName,LastName)
  AND FirstName = ifnull(@FirstName, FirstName)
  AND Address   = ifnull(@Address,Address)
  AND City      = ifnull(@City,City)

SQL Fiddleでそれを参照してください。

于 2013-08-27T15:18:29.440 に答える