SQL Server 中使用 INNER JOIN 刪除資料列的正確方法
在 SQL Server 中使用 INNER JOIN 刪除資料列時,請務必避免常見的錯誤,這些錯誤可能導致操作失敗。其中一個錯誤是省略要刪除的表的明確指定。
遇到的錯誤:
執行以下程式碼時,會遇到錯誤訊息:
<code class="language-sql">DELETE FROM WorkRecord2 INNER JOIN Employee ON EmployeeRun=EmployeeNo WHERE Company = '1' AND Date = '2013-05-06'</code>
錯誤訊息如下:
Msg 156, Level 15, State 1, Line 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中文網其他相關文章!