psql e rule
fabio
penguin a email.it
Sab 8 Mar 2003 13:27:58 UTC
ciao Damiano, ecco tutto quello che serve per capire dove sta il mio
errore.
ho messo tutto il necessario per ricostruire la mia situazione, basta
aggiungere qualche riga alla tabella t_attivita t_processi.
--
-- inizio sql
--
-- tabella processi
--
create sequence processi_seq;
create table processi (
id_processo integer primary key default nextval('processi_seq'),
id_tipo_processo integer,
descrizione text,
note text,
id_stato integer
);
--
-- tabella t_attivita t_processi
--
create sequence t_attivita_t_processo_seq;
create table tipi_attivita_tipi_processo (
id_tipo_attivita_tipo_processo integer primary key default nextval('t_attivita_t_processo_seq'),
id_tipo_attivita integer ,
id_tipo_processo integer
);
--
-- tabella attivita
--
create sequence attivita_seq;
CREATE TABLE attivita (
id_attivita integer primary key default nextval('attivita_seq'),
id_processo integer references processi(id_processo),
id_tipo_attivita integer ,
data_creazione timestamp without time zone,
id_risorsa_responsabile integer
);
--
-- fine sql
--
-- La rule
--
CREATE RULE
inserisci_attivita
as on insert to processi
where
id_tipo_processo=NEW.id_tipo_processo
do
insert into attivita
select
nextval('attivita_seq'),
NEW.id_processo,
id_tipo_attivita,
CURRENT_TIMESTAMP
from
tipi_attivita_tipi_processo
where
id_tipo_processo=NEW.id_tipo_processo
;
--
-- fine! ...buon divertimento a tutti
--
facendo alcune prove mi accorgo che:
1. se faccio una
INSERT INTO processi VALUES (1,1);
...tutto ok sia insert in processi che in attivita
2. se la stessa insert la do come
INSERT INTO processi VALUES (nextval('processi_seq'),'1');
...ecco che salta fuori l'errore
3. concludendo se do
INSERT INTO processi VALUES(nextval('processi_seq'));
tutto ok (la rule non la esegue ...come giusto che sia)
Benvenuto sia colui che mi volesse illuminare!!!!
ciao ciao
Bio
Maggiori informazioni sulla lista
Lug
|