この CTE でエラー メッセージが表示されるのはなぜですか?
;with del as (
SELECT t1.*
FROM t1
INNER JOIN t2
ON t1.tid = t2.tid
)
DELETE del;
エラーメッセージが表示されます
メッセージ 4405、レベル 16、状態 1、行 5 変更が複数のベース テーブルに影響するため、ビューまたは関数 't' は更新できません。
まったく同じ構文が更新には機能しますが、削除には機能しません。
編集: t2 がベース テーブルではなく、定数の cte ベースである場合、同じ構文が機能します。