既存のレコードには適用されないチェック制約を追加しようとしています。これに対する私の試みは次のとおりです。
ALTER TABLE myDB.dbo.myTable
ADD CONSTRAINT myConstraintName WITH NOCHECK (dbo.myFunction() = 0);
戻り値
メッセージ 156、レベル 15、状態 1、行 1
キーワード「with」付近の構文が正しくありません。
メッセージ 319、レベル 15、状態 1、行 1
キーワード「with」付近の構文が正しくありません。このステートメントが共通テーブル式、xmlnamespaces 句、または変更追跡コンテキスト句である場合、前のステートメントはセミコロンで終了する必要があります。
また、T-SQL 構文図のコツをつかもうとしています。alter table構文と T-SQL規則に基づいて、構文図のスイッチを、下の図に示すように、ラベル につながっているように見えます<table_constraint>
。table_constraint の追加図のラベルとして解釈しています。
T-SQL ステートメントの構文を修正するにはどうすればよいですか?
図を正しく解釈していますか?