2013-07-19 1 views
1

우리 응용 프로그램에서 일부 값을받는 프로 시저가 있는데이 정적 값과 하위 쿼리 결과를 테이블 중 하나에 삽입해야합니다. 하나의 insert 문으로 가능합니까? 그래서 나는 단지 하위 쿼리를 사용하는 경우 나 실제 값으로 값 명령과 그 반대를 생략 것을 알고이하위 쿼리와 값을 혼합하여 삽입 할 수 있습니까?

Insert into table 
values 
(value1, value2, value3, (select testdata from dual)); 

The resulting table would look like: 
value1 | value2 | value 3 | ROW 1 FROM SUBQUERY 
value1 | value2 | value 3 | ROW 2 FROM SUBQUERY 

과 같을 것이다. 누구도이 경험이 있습니까?

답변

3

네,하지만 당신은 단지 select와 함께 할이 :

입니다
Insert into table 
    select value1, value2, value3, testdata 
    from dual; 

, 당신은 select 라인에서 상수로 값을 추가합니다.

+0

내 값 (value1, value2, value3)이 IN 변수이고 내 testdata가 복수 행 및 복수 열 하위 쿼리 인 경우이 방법을 사용할 수 있습니까? – Quartzee

+0

@ user2600900 . . 예, 예. –

0

INSERT INTO tablename SELECT xxx FROM 명령을 사용하십시오.

INSERT INTO tablename (col1, col2, ... colN) 
-- select rows from first subquery 
SELECT x1, x2, ... xN FROM ...... 
UNION ALL 
-- select rows from second subquery 
SELECT y1, y2, ... yN FROM ......