私は2つのテーブルを持っています
create table t1(cid int, isnews int)
create table t2(nid int,cid int, isnews int)
状況は次のようなものです: t2 に t2.cid = t1.cid が含まれている場合、t2.isnews = t1.news が含まれ、t2 に t1 の cid が含まれていない場合、新しいレコードが t2 に挿入され、t1.cid、t1.isnews はt2.. に挿入されます。
完全なテーブルは単一のクエリで実行する必要があります...更新部分は実行しましたが、挿入部分を実行できません..
更新クエリ:
UPDATE t22
SET t22.isnews = t11.isnews
FROM t2 AS t22
JOIN t1 AS t11
ON t11.cid= t22.cid
挿入用にカーソルの下を用意しました...いいですか?:
DECLARE @clntid INT
DECLARE @clntnewsltr INT
DECLARE clientnews CURSOR FOR
SELECT clientid,newsLetter
FROM clients
WHERE clientid NOT IN (SELECT clientid FROM clientprivacy)
OPEN clientnews
FETCH NEXT FROM clientnews INTO @clntid,@clntnewsltr
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO clientprivacy (clientId,tdNewsLetters) VALUES(@clntid, @clntnewsltr)
FETCH NEXT FROM clientnews INTO @clntid,@clntnewsltr
END
CLOSE clientnews
DEALLOCATE clientnews