본문 바로가기
Error & Fix

오라클 프로시저 EXEC로 호출할 수 없을 경우 해결방법

by wakestand 2019. 12. 30.
반응형

오라클에서 SCOTT 계정에서 TABLE_TEST 테이블의

COL1, COL2 컬럼에 'TEST', 1을 넣는

프로시저를 만들어 봤는데

 

테이블과 프로시저 코드는

아래 내용을 복사, 붙여넣기 해주면 된다

-- 테스트용 테이블 생성 쿼리
CREATE TABLE TABLE_TEST(
	COL1 VARCHAR2(10),
	COL2 NUMBER(4)
);

 

-- 테스트용 프로시저 생성 쿼리
CREATE OR REPLACE PROCEDURE SCOTT.PROC_TEST
IS
BEGIN
	INSERT INTO TABLE_TEST(COL1,COL2) VALUES('TEST', 1);
END; 

이후 EXEC 프로시저명을 사용하면

 

위 스크린샷처럼 ORA-00900: SQL 문이 부적합니다

가 뜨면서 되지 않는 것이 보이는데

 

SQL PLUS에서는 EXEC SCOTT.PROC_TEST;

를 수행할 시 에러가 뜨지 않고 정상적으로 수행된다

 

이게 왜 이러냐면 

EXEC는 SQL PLUS에서만 사용 가능한 명령어이기 때문에

DBeaver 같은 툴에서 쓰려고 하면 에러가 뜨는 것이다

 

따라서 오라클에서 프로시저를 호출해 주려면

 

위 스크린샷처럼

 

BEGIN

프로시저명;

END;

 

로 사용해주면 된다

반응형

댓글