ホームページ >データベース >mysql チュートリアル >SQL Server で INNER JOIN を使用して行を正しく削除する方法は?
SQL Server で INNER JOIN を使用して行を削除する正しい方法
SQL Server で INNER JOIN を使用して行を削除する場合は、操作の失敗を引き起こす可能性のあるよくある間違いを避けるようにしてください。そのような間違いの 1 つは、削除するテーブルの明示的な指定を省略することです。
エラーが発生しました:
次のコードを実行すると、エラー メッセージが表示されます:
<code class="language-sql">DELETE FROM WorkRecord2 INNER JOIN Employee ON EmployeeRun=EmployeeNo WHERE Company = '1' AND Date = '2013-05-06'</code>
エラーメッセージは次のとおりです:
メッセージ 156、レベル 15、状態 1、行 15
キーワード「INNER」付近の構文エラー。
解決策:
このエラーを修正するには、DELETE 操作によって変更されるテーブルを明示的に指定する必要があります。これは、テーブルにエイリアスを導入することで実現できます。変更されたコードは次のとおりです:
<code class="language-sql">DELETE w FROM WorkRecord2 w INNER JOIN Employee e ON EmployeeRun=EmployeeNo WHERE Company = '1' AND Date = '2013-05-06'</code>
この更新されたコードでは、「w」が WorkRecord2 テーブルのエイリアスとして使用されています。これにより、DELETE ステートメントが行を削除する正しいテーブルをターゲットにすることが保証されます。
以上がSQL Server で INNER JOIN を使用して行を正しく削除する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。