database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 10352 게시물 읽기
No. 10352
oracle -> postgreSQL 마이그레이션 중 도움이 필요합니다
작성자
이인영(liy)
작성일
2022-11-02 15:42ⓒ
2022-11-02 16:54ⓜ
조회수
2,021

안녕하세요.. 

SQL에 대해 잘 모르는 신입 개발자 인사드립니다.


이런 와중에 oracle 에서 postgreSQL로 마이그레이션 하던 중 오류를 만나게 되어 전문가분들의 도움을 받고자 합니다.

아! postgreSQL 버전은 14 버전 입니다!


oracle)

CREATE OR REPLACE PROCEDURE trusrm.pass_ref_cur (p_cursor REFCURSOR) AS $body$

DECLARE

 

array_t IS TABLE OF varchar(4000)

INDEX BY integer;

rec_array array_t;

 

BEGIN

FETCH p_cursor BULK COLLECT INTO rec_array;

 

FOR i IN rec_array.FIRST .. rec_array.LAST

LOOP

RAISE NOTICE '%', rec_array(i);

END LOOP;

END;

$body$

LANGUAGE PLPGSQL

SECURITY DEFINER

;

 

을 돌리게 되었습니다.

 

구문 오류, "IS" 부근

LINE 5: TYPE array_t IS TABLE OF varchar(4000)

                     ^

CONTEXT:  "array_t IS TABLE OF varchar(4000)

INDEX BY integer" 자료형 이름은 유효하지 않은 자료형입니다.

 

 

그래서 해당되는

 

 

--array_t IS TABLE OF varchar(4000)

--INDEX BY integer;

--rec_array array_t;

주석 처리 후

rec_array CHARACTER VARYING(4000)[];

으로 수정해 보았습니다.

 

 

그리고 나서는

[42601] 오류: 구문 오류, "BULK" 부근

으로 나오더군요....

 

하지만.. 제가 BULK에 대해서도 잘 몰라 수정을 못하고 있습니다..

 

 

실은 그 밖에도 first 와 last

loop문 안에 rec_array 에서도 붉은 색으로 오류를 표현하고 있습니다.

 

도움이 필요합니다...

[Top]
No.
제목
작성자
작성일
조회
10355DB 삭제후 Slave DB에서만 지속적인 slow query 발생 [1]
형씨
2022-12-07
1703
10354ora2pg blob -> bytea 전환시 blob 크기 2배 되는 현상 [3]
조수연
2022-11-16
1850
10353pgday.Seoul 2022 행사에 초대합니다.
김상기
2022-11-07
2015
10352oracle -> postgreSQL 마이그레이션 중 도움이 필요합니다
이인영
2022-11-02
2021
10351postgresql pg_upgrade 및 서버 이전 관련 [5]
조수연
2022-10-25
2011
10349PostgreSQL 소켓 경로 변경 관련 [1]
반지현
2022-10-24
1896
10347[문의] plpython3u 설치 및 실행 [1]
한종식
2022-05-26
2318
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.049초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다