INSERT funciona para las inserciones en masa:
Código:
INSERT INTO produit_backup
SELECT produits_temp.* --ESTO ES NULL NO?, no sirve: , produit_backup.ref_constr
FROM produits_temp
LEFT OUTER JOIN produit_backup
ON produits_temp.ref_constr=produit_backup.ref_constr
WHERE produit_backup.ref_constr = 'NULL'
/*Este es usando subquierys, menos eficientes pero mas legibles*/
INSERT INTO produit_backup
SELECT * FROM produits_temp
WHERE ref_constr NOT IN (SELECT ref_constr FROM produits_temp)
Las desventajas de estos metodos es que no controlas las modificaciones en campos ya existentes, si sabes que no hay modificaciones pues adelante.
Por ultimo, funciona igual, pero creo que es mas legible que en lugar de uno uses el otro:
Código:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'produits_temp' AND column_name = 'ht_prix_achat_e'
if (@@ROWCOUNT>=1)
BEGIN
...
IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'produits_temp' AND column_name = 'ht_prix_achat_e')
BEGIN
...