2014-02-10 5 views
3

나는이 SQL 부분에 어려움을 겪고 있으며 누군가 나를 도울 수 있는지 궁금해하고있었습니다.SQL 삽입 쿼리

INSERT INTO table_1(
rec_1, 
rec_2, 
rec_3 
) 
VALUES (
val_1, 
val_2, 
val_3 
) 

이제 rec_2와 rec_3은 명확하고 절대 값을가집니다. Rec_1은 다른 테이블의 값으로 채워집니다. 이제이 테이블에 이미 존재하지 않는 다른 테이블의 값을 삽입하려고합니다. 나는 내가 어디에서 사용해야하는지 짐작하고 있었다?

INSERT INTO table_1(
rec_1, 
rec_2, 
rec_3 
) 
VALUES (
val_1, 
val_2, 
val_3 
) 
WHERE NOT IN (
SELECT rec FROM table_2 
) 

하지만 .. 어떻게 내 쿼리에서 rec_1에서 해당 값을 삽입 할 수 있습니다

은 그래서이 같은 것?

+0

대신 'NOT IN'이 존재하지 않습니다. –

답변

5

절대 값은 간단한 INSERT/SELECTrec_2 경우 rec_3에 대해 어떻게 :

INSERT INTO table_1 (rec_1, rec_2, rec_3) 
SELECT val_1, 'val_2', 'val_3' 
FROM other_table 
WHERE val_1 NOT IN (SELECT rec_1 FROM table_1) 
2

INSERT INTO table_1(rec_1, rec_2, rec_3) 
SELECT val_1, val_2, val_3 FROM tablename 
WHERE NOT EXISTS (SELECT rec FROM table_2) 
4
INSERT INTO table_1(rec_1, rec_2, rec_3) 
SELECT val_1, val_2, val_3 FROM dual WHERE NOT EXISTS (SELECT rec FROM table_2) 

당신은 더 사용이 answer을 확인 할 수 있습니다 시도

상세 정보 here

0
 4 ways to insert record 
1--> {Simple Insertion when table column sequence is known} 
     Insert into Table1 
     values(1,2,...) 

    2--> {Simple insertion mention column} 
     Insert into Table1(col2,col4) 
     values(1,2) 

    3--> {bulk insertion when num of selected collumns of a table(#table2) are equal to Insertion table(Table1) } 
     Insert into Table1 {Column sequence} 
     Select * -- column sequence should be same. 
      from #table2 

    4--> {bulk insertion when you want to insert only into desired column of a table(table1)} 
     Insert into Table1 (Column1,Column2 ....Desired Column from Table1) 
     Select Column1,Column2..desired column from #table2 
      from #table2