如何将函数从Oracle转换为Postgres?

时间:2018-09-08 17:14:21

标签: sql database oracle postgresql

我在Oracle中有以下表和类型:

CREATE OR REPLACE TYPE edificioty AS OBJECT(
 idf INT)

CREATE OR REPLACE TYPE lettorety AS OBJECT(
pidreader_id NUMBER,
descrizione VARCHAR2(100),
edificio REF edificioty)

CREATE TABLE EDIFICIO OF EDIFICIOTY(IDF PRIMARY KEY);

CREATE TABLE LETTORE OF LETTORETY(PIDREADER_ID PRIMARY KEY);

我需要在PostreSQL中使用它们,所以我将它们转换如下(希望它们是正确的):

CREATE TYPE edificioty AS(
 idf INTEGER)

CREATE TYPE lettorety AS(
pidreader_id INTEGER,
descrizione VARCHAR(100),
edificio edificioty)

CREATE TABLE EDIFICIO OF EDIFICIOTY(PRIMARY KEY(IDF));

CREATE TABLE LETTORE OF LETTORETY(PRIMARY KEY(PIDREADER_ID));

还有此Oracle功能

create or replace procedure populate_lettore
as
    edificio_selezionato ref edificioty;
    cursor c is select ref(e) from edificio e;
begin
    open c;
    loop
        fetch c into edificio_selezionato;
        exit when c%notfound;

        insert into lettore 
        values(lettorety(0,'Descrizione...',edificio_selezionato));
    end loop;
    close c;
end;

如何将其转换为Postgres?

0 个答案:

没有答案