그것은 오라클 문서에서 언급 한 그 Select
문 지원 CHAR
, VARCHAR2
, 또는 CLOB
(not NCHAR or NVARCHAR2
). NVARCHAR
으로 구현하려면 translate
USING CHAR_CS
인수가 char을 데이터베이스 문자 집합으로 변환하는 유일한 해결책입니다. 출력 데이터 유형은 VARCHAR2
입니다. NVARCHAR2
이 필수가 아닌 경우
DECLARE
TYPE CUR_DATA IS REF CURSOR;
OUT_DATA CUR_DATA;
SQL_Statement NVARCHAR2(4000); --declare this as VARCHAR2
SQL_Statement_var VARCHAR2(4000);
BEGIN
SQL_Statement := N'SELECT * FROM dual ';
SQL_Statement_var := TRANSLATE(SQL_Statement USING CHAR_CS);
OPEN OUT_DATA FOR SQL_Statement_var;
END;
No errors.
, 다음이 제공 기본 데이터 유형으로 만들어보십시오.
DECLARE
TYPE CUR_DATA IS REF CURSOR;
OUT_DATA CUR_DATA;
SQL_Statement VARCHAR2(4000); --declare this as VARCHAR2
BEGIN
SQL_Statement := ' SELECT * FROM dual ';
OPEN OUT_DATA FOR SQL_Statement;
END;
참고 : 나에게
Translate...USING
Open For Statement
NVARCHAR2 또는 VARCHAR2 않아요 문제, 나는 둘 사이의 차이도 잘 모르는 것 같아요. 팁 고마워! 나는 그 벽에 머리를 대고 있었다. 1 – Adamantine
@ Adamantine : 그렇다. varchar2를 사용하는 두 번째 접근법으로 간다. –