반응형
oracle sql developer에서 스토어드 프로시저를 실행하는 방법
이 저장 프로시저를 실행하려고 합니다.
DECLARE
P_TICKER_SERIAL VARCHAR2(200);
P_SECTOR_CODE VARCHAR2(200);
P_SOURCE_ID VARCHAR2(200);
P_COUNTRY_CODE VARCHAR2(200);
P_FILTER_TYPE NUMBER;
CUR_OUT SYS_REFCURSOR;
dbUserTable DBUSER%ROWTYPE;
BEGIN
P_TICKER_SERIAL :='14232';
P_SECTOR_CODE := '15';
P_SOURCE_ID := 'TDWL';
P_COUNTRY_CODE := 'SA';
P_FILTER_TYPE := 1;
PKG_name.GET_user(
P_TICKER_SERIAL => P_TICKER_SERIAL,
P_SECTOR_CODE => P_SECTOR_CODE,
P_SOURCE_ID => P_SOURCE_ID,
P_COUNTRY_CODE => P_COUNTRY_CODE,
P_FILTER_TYPE => P_FILTER_TYPE,
CUR_OUT => CUR_OUT
);
open CUR_OUT;
LOOP
FETCH CUR_OUT INTO dbUserTable;
dbms_output.put_line(dbUserTable.email);
END LOOP;
CLOSE CUR_OUT;
END;
/
하지만 그것은 나에게 이 오류를 준다.
Error report:
ORA-06550: line 8, column 15:
PLS-00201: identifier 'DBUSER' must be declared
ORA-06550: line 8, column 15:
PL/SQL: Item ignored
ORA-06550: line 24, column 2:
PLS-00382: expression is of wrong type
ORA-06550: line 24, column 2:
PL/SQL: SQL Statement ignored
ORA-06550: line 26, column 24:
PLS-00320: the declaration of the type of this expression is incomplete or malformed
ORA-06550: line 26, column 5:
PL/SQL: SQL Statement ignored
ORA-06550: line 27, column 28:
PLS-00320: the declaration of the type of this expression is incomplete or malformed
ORA-06550: line 27, column 7:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
뭐가 문제인지 아는 사람?감사해요.
이렇게 절차를 실행해 보세요.
var c refcursor;
execute pkg_name.get_user('14232', '15', 'TDWL', 'SA', 1, :c);
print c;
다음과 같은 절차를 만들었다고 생각해 보십시오.
CREATE OR REPLACE PROCEDURE GET_FULL_NAME like
(
FIRST_NAME IN VARCHAR2,
LAST_NAME IN VARCHAR2,
FULL_NAME OUT VARCHAR2
) IS
BEGIN
FULL_NAME:= FIRST_NAME || ' ' || LAST_NAME;
END GET_FULL_NAME;
Oracle SQL Developer에서는 이 절차를 두 가지 방법으로 실행할 수 있습니다.
1. SQL 워크시트 사용
SQL 워크시트를 만들고 PL/SQL 익명 블록을 이렇게 쓴 후 f5를 누릅니다.
DECLARE
FULL_NAME Varchar2(50);
BEGIN
GET_FULL_NAME('Foo', 'Bar', FULL_NAME);
Dbms_Output.Put_Line('Full name is: ' || FULL_NAME);
END;
2. GUI 컨트롤 사용
프로시저 전개
작성한 프로시저를 우클릭하고 [실행]을 클릭합니다.
팝업 창에서 매개 변수를 채우고 확인을 클릭합니다.
건배!
-- 프로시저에 파라미터를 전달할 필요가 없는 경우는, 다음의 조작을 실시합니다.
BEGIN
MY_PACKAGE_NAME.MY_PROCEDURE_NAME
END;
언급URL : https://stackoverflow.com/questions/20186588/how-to-run-a-stored-procedure-in-oracle-sql-developer
반응형
'programing' 카테고리의 다른 글
| MSSQL 오류 '기본 공급자가 열 때 실패했습니다.' (0) | 2023.04.08 |
|---|---|
| 계속하려면 아무 키나 누르십시오. (0) | 2023.04.08 |
| 이 CSS 라인의 의미는 무엇입니까?@media only 화면 및 (최소 디바이스 폭: 320px) 및 (최대 디바이스 폭: 480px) (0) | 2023.04.03 |
| Oracle SQL Developer 실행 설명 계획 결과 이해 (0) | 2023.04.03 |
| python에서 wordpress REST api를 사용하여 이미지를 업로드하는 방법은 무엇입니까? (0) | 2023.04.03 |