1

値を持つテーブルユーザーを持っている:

FirstName     LastName     Age
 A               A          20
 B               B          21
 C               C          22
 D               D          21
 E               E          20

次に、プロシージャを作成し、 Ageをチェックしてから、if ステートメントで別のプロシージャを呼び出します

SELECT @firstName = FirstName ,lastName = LastName ,@age = Age FROM dbo.users
if @age = 20
exec myProc1 'firstName','LastName'
if @age = 21
exec myProc2 'firstName','LastName'
if @age = 22
exec myProc3 'firstName','LastName'

このプロシージャを呼び出すと、if ステートメントが 1 つの行のみを取り、次に IF ステートメントにある別のプロシージャを呼び出すと、たとえば、機能するのは

   if @age = 20
    exec myProc1 'firstName','LastName'

Age = 20がテーブルの最初の行であるためです。テーブル内のすべての行をチェックしたいのですが、どうすればよいですか? カーソルなしでそれを行うことは可能ですか?

4

2 に答える 2