既存のテーブルを別のテーブルのデータで更新する必要があります。私のCTEは私に正しい結果を与えているが、私はCTE SSMSで更新しようとしている場合は、以下の行でCTEによる更新でset句の列名が認識されない
Msg 102, Level 15, State 1, Line 13
Incorrect syntax near '.'.
または無効な列名に文句を言う:
set cm.Action.Identifier_fk = ID
set cm.ActionRequestedAction = Action
set cm.Action.apartment_fk = apartment_fk
これはコードです:
Use DB;
GO
with CTE (ID,Action,Identifier_fk,apartment_fk) AS
(select a.ID, a.Action, b.Identifier_fk, m.apartment_fk
from Project.AllSent a (nolock)
left outer join cm.Action b (nolock) on a.ID=b.Identifier_fk
left Outer Join csv.Matching m (nolock) on m.Identifier_fk = a.ID
left outer join csv.Apartment p (nolock) on m.apartment_fk=p.apartment_pk
where b.Identifier_fk is NULL)
update cm.Action
set cm.Action.Identifier_fk = ID
set cm.Action.RequestedAction = Action
set cm.Action.apartment_fk = apartment_fk
from CTE c
JOIN Project.AllSent t (nolock) on t.ID=c.ID;
'update'クエリで' cm.Action'とは何ですか? –
cm - スキーマです。アクション - テーブルです。 – enigma6205
SQL Serverを使用しているのでしばらくお待ちしていますが、複数のSET呼び出しを更新することはできますか?カンマで区切りますか? – gmiley