Stored-Procedure
에 매개 변수로 전달되는 테이블 이름에 대해 rowtype
을 만들 수 있으며 DBMS_OUUTPUT.PUT_LINE()
문에서 주소를 지정하는 열을 어떻게 알 수 있습니까?저장 프로 시저에 매개 변수로 테이블 이름을 전달하는 방법은 무엇입니까?
최종 사용자는
나는 다음과 같이 뭔가를 원하는 사용자 이름 (스키마)와 테이블 이름을 줄 수 있지만 작동하지 않습니다.
CREATE OR REPLACE PROCEDURE SP_PASS(USER_NAME VARCHAR2,TAB_NAME IN VARCHAR2)
AS
TYPE REF_CUR IS REF CURSOR;
V_ARR REF_CUR;
V_SQL VARCHAR(200);
V_ROWTYPE USER_NAME.TAB_NAME%ROWTYPE;
BEGIN
V_SQL := 'SELECT * FROM '||USER_NAME||'.'||TAB_NAME;
OPEN V_ARR FOR V_SQL;
LOOP
FETCH V_ARR INTO V_ROWTYPE;
EXIT WHEN V_ARR%NOT FOUND;
DBMS_OUTPUT.PUT_LINE(V_ROWTYPE.COL1||','||V_ROWTYPE.COL2||','||V_ROWTYPE.COL3);
END LOOP;
CLOSE V_ARR;
END;
가능한 경우 알려 주시기 바랍니다.
감사합니다.