자율 학습/학습
[Oracle] PL/SQL BEGIN ~ END 한 번에 여러 쿼리 실행하기
60cod
2022. 9. 19. 14:44
INSERT ALL INTO 라는 좋은 구문이 있지만
PK 제약 조건과 시퀀스(NEXTVAL) 때문에 한 번에 넣을 수가 없을 때..
나눠 작성한 쿼리들을 한 번에 실행하게 하는 구문이 있다.

출처: https://kindloveit.tistory.com/26
BEGIN ~ END
PL/SQL의 블록 구조
전체가 하나의 블록이고 구성요소는 아래와 같다.
| DECLARE 선언부(옵션, 생략가능) 변수나 상수를 정의 BEGIN 실행부 (필수, BEGEN-END) 로직 수행 (일반 SQL문, 조건문, 반복문 등) EXCEPTION 예외 처리부(옵션, 생략 가능) END; |

PK나 시퀀스가 걸리는 것끼리 나눠서 넣었다.
실행해보니 'PL/SQL 프로시저가 성공적으로 완료되었습니다.' 라는 메시지가 뜨고
데이터 잘 들어간 것 확인했고 커밋까지 완료함!
+ 근데 xml 에 넣고 실행하려 하니 안 되더라고.. 강사님께 여쭤보니 세미콜론 때문에 터진다는데.. 구글링해보면 다른 사람은 잘 쓰는 거 같던데..? 좀 알아봐야 할 듯..
