j'ai deux situations de tables'il vous plaît aidez-moi à créer une requête insérer plusieurs
create table t1(cid int, isnews int)
create table t2(nid int,cid int, isnews int)
est comme ceci: si t2 contient t2.cid = t1.cid puis les t2.isnews = t1.news et si t2 ne contient pas cid de t1 alors nouvel enregistrement devrait être inséré dans t2 et que t1.cid, t1.isnews devrait être inséré dans t2 ..
et le tableau complet devrait être fait en une seule requête ... j'ai fait la partie de mise à jour, mais pas en mesure de faire la partie insertion.
upd ate requête:
UPDATE t22
SET t22.isnews = t11.isnews
FROM t2 AS t22
JOIN t1 AS t11
ON t11.cid= t22.cid
J'ai préparé ci-dessous le curseur pour insérer ... est-ce bon? :
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
Votre question a déjà été formaté, mais s'il vous plaît modifier pour correspondre à des tables et des colonnes de votre exemple ('' t1' vs clientprivacy'), de fournir des informations sur les DBMS que vous utilisez et reformater vos conditions. Utilisez l'aperçu pour vérifier s'il est lisible. –