Execute 와 call 차이점
DB CAFE
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 프로시져 실행시 Execute 와 call 차이점[편집]
- EXEC[ute] SP() 와 CALL SP() 둘다 SQL*Plus 에서 사용가능
- BEGIN SP(); END; PL/SQL로도 가능
1.1 차이점[편집]
1.1.1 CALL[편집]
- CALL 은 Oracle SQL 이고 어디에서든 동작한다.
- 다른 DB 클라이언트 프로그램 EXEC를 지원하지 않는다. SQL*Plus에서만 동작함.(Toad,Orage 에서도 동작함.)
- CALL SP에 사용되는 파라미터는 반드시SQL data type 이여야 함.
- BOOLEAN 과 같은 PL/SQL-only data type 은 동작 하지 않음.
1.1.2 EXEC[편집]
- EXEC는 SP뿐만 아니라 임의의 문장을 실행 할수 있음.
- EXEC could be used to execute not only an SP, but an arbitrary statement.
- 만약 SP가 파라미터가 없으면 아래와 같이 사용가능
EXEC SP;
- 그러나 CALL 은 아래와 같이 빈괄호 필요함.
CALL SP();