Oracle 스토어드 프로시저를 실행하는 방법
oracle 10g express 에디션을 사용하고 있습니다.DB 개발자에게 적합한 UI를 제공합니다.그러나 저장 프로시저를 실행하는 데 몇 가지 문제가 있습니다.
순서:
create or replace procedure temp_proc is
begin
DBMS_OUTPUT.PUT_LINE('Test');
end
정상적으로 작성되었습니다.하지만 실행 시:
execute temp_proc;
ORA-00900: invalid SQL 문이 표시됩니다.
여기서 도움이 필요
Execute
is sql*plus 구문 ..먼저 전화를 걸어보세요.다음과 같이 끝납니다.
begin
temp_proc;
end;
(Jeffrey는 이것이 APEX에서는 동작하지 않는다고 말했지만, SQLDeveloper에서는 동작시키려 하고 있습니다.'실행' 메뉴를 사용해 보십시오.)
Oracle 10g Express Edition에는 Oracle Application Express(Apex)가 내장되어 있습니다.SQL*Plus 구문을 지원하지 않는 SQL 명령 창에서 실행 중입니다.
그건 중요하지 않아요. 왜냐하면 BEGIN은...END 구문은 Apex에서 작동합니다.
is와 as는 모두 유효한 구문입니다.디폴트로는 출력은 디세블로 되어 있습니다.출력도 유효하게 하는 프로시저를 시험해 보겠습니다.
create or replace procedure temp_proc is
begin
DBMS_OUTPUT.ENABLE(1000000);
DBMS_OUTPUT.PUT_LINE('Test');
end;
PLSQL 블록에서 호출...
begin
temp_proc;
end;
...SQL은 비절차적이기 때문입니다.
oracle 12를 사용하고 있는데, 프로시저를 기동할 필요가 있는 경우는, call 키워드를 사용해 주세요.고객님의 경우 다음과 같습니다.
begin
call temp_proc;
end;
다음과 같은 구문을 수정해 보셨습니까?
create or replace procedure temp_proc AS
begin
DBMS_OUTPUT.PUT_LINE('Test');
end;
Oracle SQL Developer(GUI)에서는 12c를 사용하여 DMBS Output 창(View = > Dbms Output을 클릭한 다음 "+" 기호를 클릭하고 연결을 선택)을 활성화하는 것도 잊지 마십시오. 기본적으로 이 창은 활성화되어 있지 않습니다.
다음 구문이 이 창에 출력됩니다.
begin
temp_proc
end;
명령 창에서 간단히 다음을 수행할 수 있습니다.
Connected to Oracle Database 19c Enterprise Edition Release 19.0.0.0.0
Connected as XXX@YYY
SQL> call temp_proc();
또는 다음 중 하나를 선택합니다.
SQL> execute temp_proc();
언급URL : https://stackoverflow.com/questions/1854427/how-to-execute-an-oracle-stored-procedure
'source' 카테고리의 다른 글
'react'에서 반응하는 import *와 'react'에서 반응하는 import react의 차이점은 무엇입니까? (0) | 2023.04.01 |
---|---|
postgresql을 사용하여 wordpress를 설치하는 방법 (0) | 2023.04.01 |
스프링 부트 제어 대상 JAR 파일 이름 (0) | 2023.04.01 |
후크를 사용하여 어레이에서 객체 삭제(useState) (0) | 2023.04.01 |
JSON.parse('1234')가 1234를 반환하는 이유는 무엇입니까? (0) | 2023.04.01 |