0
Oracle에서 맵핑 작성 스크립트를 추출하기위한 순수한 SQL 메소드에 대해 알고 있습니까?작성 스크립트로웨어 하우스 맵핑 추출
이SELECT SYS_CONNECT_BY_PATH(text, ' ') PackageScript FROM (
SELECT text, ROW_NUMBER() OVER (order by line) rownumber, COUNT(*) OVER() cnt
FROM (SELECT text, line FROM dba_source WHERE NAME = 'MAPPING_NAME' AND TYPE = 'PACKAGE' AND substr(text, 0,2) != '--' AND text IS NOT NULL)
) data
WHERE rownumber = cnt
START WITH rownumber = 1
CONNECT BY PRIOR rownumber = rownumber-1;
문제는 그래서 지금이이
SELECT text FROM dba_source WHERE NAME = 'MAPPING_NAME' AND TYPE = 'PACKAGE';
하지만 한 줄이 점을 설정하기 위해
, 나는 http://dotnetsurfers.com/blog/2008/01/16/concatenating-rows-in-a-table-into-a-single-string-using-sql/에서 팁을 사용했습니다 다음 SQL은 올바른 결과를 반환 결과가 4000자를 넘으면 oracle은 문자열을 연결할 수 없습니다. 오류가 발생합니다 :ORA-01489: result of string concatenation is too long
더 좋은 방법이 있습니까?