Voici la déclaration que j'utilise.
insert into Course_Data (Branch, CC, C_Title, Sem, Credits) values (select distinct from (select * from Course_Data) union (select * from TEMP1) a order by a.CC)
J'ai rencontré avec erreur:
Syntaxe incorrecte près du mot-key 'select'. Syntaxe incorrecte près de 'a'.
Course_ Data:
Branch | CC | C_Title | Sem | Credits CS sub1 Networks 3rd 4:1:1=6
Temp:
Branch | CC | C_Title | Sem | Credits MCA sub1 Compuuters 3rd 4:1:1=6 CS sub1 Networks 3rd 4:1:1=6
Ce sont 2 tables, donc après avoir exécuté la requête, je dois get des données de twig de MCA dans la table de Course_Data sans duplication des données de twig de CS. ie Course_Data:
Branch | CC | C_Title | Sem | Credits CS sub1 Networks 3rd 4:1:1=6 MCA sub1 Compuuters 3rd 4:1:1=6
Une insertion avec une SELECT
n'a pas besoin du mot key VALUES
. Voir synthax MSDN . Donc, vous interrogez sera
INSERT INTO Dist_Data (Branch,CC,C_Title,Sem,Credits) select * from ( select * from Course_Data union select * from TEMP1 )a order by a.CC
Soyez prudent lorsque vous utilisez *
pour SELECT-INSERT
car si le nombre de colonnes dans la table source et la table de destination ne correspondent pas, une erreur sera générée. Il est donc préférable d'utiliser comme ci-dessous
INSERT INTO Dist_Data (Branch,CC,C_Title,Sem,Credits) select * from ( select COL1,COL2,COL3,COL4,COL5 from Course_Data union select COL1,COL2,COL3,COL4,COL5 from TEMP1 )a order by a.COLUMNNAME
MODIFIER :
Conformément à votre nouvelle exigence, vous pouvez utiliser la clause / opérateur Course_Data
pour éviter l'insertion de données en double dans votre table Course_Data
. L'ordre des colonnes doit être identique lors de l'utilisation de EXCEPT
. Plus sur EXCEPT
ici .
EXCEPT
QUESTION
INSERT INTO Course_Data (Branch,CC,C_Title,Sem,Credits) select * from ( SELECT Branch,CC,C_Title,Sem,Credits FROM TEMP1 EXCEPT SELECT Branch,CC,C_Title,Sem,Credits FROM Course_Data )a order by a.COLUMNNAME