表を挿入または更新するときに、ストアド・プロシージャをCURRENTLYで開始するCONSTRAINTを変更したいとします。CONSTRAINTまたはストアド・プロシージャを変更して、更新時に挿入しないときのみチェックします。
私が望むのは、ストアドプロシージャがINSERTでのみ有効で、更新ではないことです。
これを行う方法はありますか?
大切にしてください。 - その拘束をトリガーではなく...それについて悲しいです。
表を挿入または更新するときに、ストアド・プロシージャをCURRENTLYで開始するCONSTRAINTを変更したいとします。CONSTRAINTまたはストアド・プロシージャを変更して、更新時に挿入しないときのみチェックします。
私が望むのは、ストアドプロシージャがINSERTでのみ有効で、更新ではないことです。
これを行う方法はありますか?
大切にしてください。 - その拘束をトリガーではなく...それについて悲しいです。
確かにあなたが作成し、トリガー文を表示した場合、私はあなたが
ALTER TRIGGER Test
ON Table
AFTER INSERT
.......
ドを行うだろうか
ので、代わりの
CREATE TRIGGER Test
ON Table
AFTER INSERT, UPDATE
....
お見せすることができ、唯一のINSERTトリガートリガーを作りますあなたは本当に制約を意味しますか?列または表の値または値の組み合わせを許可または拒否することにより、制約が適用されるかどうか、およびその目的は整合性を強制することです(詳細はMSDNを参照)。 はです。これは、SQLMenaceがあなたの答えを提供したことを意味します。たとえそれがあれば、トリガーを作成して制約を削除する必要があるかもしれません。おそらく、明確にするために、最初に制約を作成したDDLを提供できるでしょうか?
通常の更新と同様に更新を行いますが、挿入にはストアドプロシージャを使用します。 私はUPDATEのためにトリガーをまったく必要としないということです。 ありがとう! :) – Joe
制約はプロシージャを呼び出すことはできませんが、トリガは – jmoreno