は、ここで私が何をしたいです:デフォルトのパラメータ値を渡すか、パラメータを渡すことはありませんか?
テーブルPeopleOutfit (id int primary key, boots int, hat int)
そしてストアドプロシージャを考える
UpdateOutfit @id int, @newBoots int = null, @newHat = null
私は
exec UpdateOutfit @id=1, @newBoots=null, @newHat=5
としてこのプロシージャを呼び出したかどうかを指示する方法はあります
1のIDを持つユーザーが裸足であることと、彼の現在のブーツを保つ第五帽子を着用して、この人に指示し
exec UpdateOutfit @id=1, @newHat=5
から第五帽子をかぶりますか?
つまり、「ストアドプロシージャ内で「指定されていないためにデフォルト値が使用されました」」から「このプロシージャを明示的に呼び出すと、デフォルトの値と同じ値が渡されます"
私は、XMLやフィールドのビットマスクを更新するなどのやりたいことを達成するためのいくつかの方法があると知っていますが、現時点ではこの正確な技術が可能かどうかを確認したいだけです。
編集:ビットなどの小さい範囲の種類のフィールドでは、予約済みの値を渡すことができません。プロシージャのオーバーロードも許容されないオプションです。追加の "NotAValue"値でNULLのパラダイムを拡張するユーザー定義型を作成することは答えかもしれませんが、実装する方法についてのいくつかのガイダンスが必要です。
これは方法ですが、これはビットフィールドの問題です。 –