Select … into … 문
- PL/SQL BLOCK 에서 사용되는 SELECT 문장에는 INTO 절이 추가됨
- INTO 절은 SELECT 한 COLUMN 값을 변수에 저장함
- SELECT 결과는 1 개가 나와야지 1 개도 없던가 여러 개가 나오면 ERROR 발생
- INTO 절의 변수는 RECORE TYPE 의 변수를 사용할 수 있음
Select exceptions
- NO_DATE_FOUND : SELECT 된 결과가 없을 때
- TOO_MANY_ROWS : SELECT 된 결과가 2개 이상일 때
SELECT 문장은 1개의 ROW 만 검색되어야지 그렇지 않으면 ERROR 발생
ERROR 가 발생하면 PL?SQL BLOCK 을 종료함
DML 문
- INSERT
- USER, SYSDATE FUNCTION 사용
- SEQUENCE 를 사용 PRIMARY KEY 생성
- PL?SQL BLOCK 안에서 값 생성
- UPDATE AND DELETE
- WHERE 절의 조건식을 만족하는 ROW 들에 UPDATE 혹은 DELETE 가 됨
- WHERE 절의 조건식을 만족하는 ROW 가 없어도 ERROR 가 발생되지 않음
lmplicit cursor attribute
💡 SQL 명령어가 실행될 때 SERVER 는 명령어가 분석되고 실행될 MEMORY 오픈
- SQL%ROWCOUNT : 가장 최근의 SQL 문에 의해 처리된 ROW 개수
- SQL%FOUND : 가장 최근의 SQL 문에 의해 처리된 ROW 가 있으면 TRUE
- SQL%NOTFOUND : 가장 최근의 SQL 문에 의해 처리된 ROW 가 없으면 TRUE
- SQL%ISOPEN : PL/SQL 은 SQL 문을 처리하자마자 CURSOR 를 닫기 때문에 항상 FALSE
Transaction 문
💡 Commit 이나 ROLLBACK 을 사용하여 TRANCTION 의 LOGIC 을 조절할 수 있음