ON DELETE CASCADE and TRIGGER

Поиск
Список
Период
Сортировка
От Raymond Chui
Тема ON DELETE CASCADE and TRIGGER
Дата
Msg-id 3A786C8D.FE564C8A@noaa.gov
обсуждение исходный текст
Ответы Re: ON DELETE CASCADE and TRIGGER  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Список pgsql-general
I have three tables:

CREATE TABLE table1 (
id    char(8) NOT NULL,
....
PRIMARY KEY (id)
);

CREATE TABLE table2 (
id    char(8) NOT NULL,
....
PRIMARY KEY (id),
FOREIGN KEY (id) REFERENCES table1 (id) ON DELETE CASCADE
);

CREATE TABLE table3 (
id    char(8) NOT NULL,
code    char(2) NOT NULL,
orders    integer NOT NULL,
....
PRIMARY KEY (id,code,orders),
FOREIGN KEY (id) REFERENCES table2 (id) ON DELETE CASCADE
);

Now you can see I must insert a row in table1 1st, then insert a row in
table2,
then insert the rowS in table3. That is OK

Now I want to delete an id in all three tables. How can I delete a row
in table1
trigger to delete rows in table2, table3? Since I can't put "ON DELETE
CASCADE"
for PRIMARY KEY in table1.
Now I can only delete a row in table2 which trigger to delete rowS in
table3.
If I want to

CREATE TRIGGER BEFORE DELETE ON table1 FOR EACH ROW
EXECUTE PROCEDURE table1_trigger(arg);

What I suppose pass to the arg in table1_trigger()?

Thank you very much in advance!

--
Why we want to teach our babies to talk and walk,
then later we tell them "sit down!", "be quiet!" ?

Democracy is not a better way for a solution,
it is just another way to spread the blames.

--Raymond


Вложения

В списке pgsql-general по дате отправления:

Предыдущее
От: Rudolf Potucek
Дата:
Сообщение: Re: Write to postgreSQL via ODBC?
Следующее
От: "Dan Wilson"
Дата:
Сообщение: Re: Re: [HACKERS] Re: Re: grant privileges to a database [URGENT]