У меня есть эти таблицы и типы в 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?