1

テストでこれを見た-私のSQL経験は基本的なCRUD関連であり、もしあれば、これの意図が何であるかわかりませんか?

CREATE PROCEDURE [dbo].[uspGetAccountID]
(
        @AccountID int = 1
)
AS
        SELECT @AccountID 
GO 

プロシージャが次のように呼び出された場合、出力はどうなりますか? またその理由は?

exec dbo.uspGetAccountID 5

4

4 に答える 4

0

結果は5になります。

パラメータのデフォルト値は、値が指定されていない場合にのみ割り当てられます。

オプションのパラメータにデフォルト値を指定することで、オプションのパラメータを持つストアド プロシージャを作成できます。ストアド プロシージャの実行時に、他の値が指定されていない場合は、既定値が使用されます。

MSDN の記事

于 2013-06-18T08:57:41.617 に答える
0

テスト ストアド プロシージャのように見えます。@AccountIDのデフォルト値で呼び出されるパラメータを取ります1

exec dbo.uspGetAccountID 5

5選ばれる結果となります。

于 2013-06-18T08:58:21.687 に答える