반응형
오라클에서 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;
로 사용해주면 된다
반응형
'Error & Fix' 카테고리의 다른 글
파이썬 PEP 8: no newline at end of file 해결방법 (1) | 2020.01.07 |
---|---|
파이참 Typo: In word '글자' 해결방법 (0) | 2020.01.06 |
오라클 SID, SERVICE NAME 찾는 방법 (0) | 2019.12.04 |
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor 해결하기 (0) | 2019.11.12 |
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 해결방법 (2) | 2019.11.12 |
댓글