>
>Florian Makesch <F.Makesch@sbe-zeta.de> writes:
>> I hope someone can help me. I Want 2 Aktions executeed in a Rule like:
>> CREATE RULE auftraege_neu_delete AS ON delete
>> TO auftraege_neu DO
>> (DELETE FROM auftraege_neu_positionen
>> WHERE auftraege_neu_positionen.auftragsnr = OLD.auftragsnr;
>> DELETE FROM auftraege_neu_zubehoer
>> WHERE auftraege_neu_zubehoer.auftragsnr = OLD.auftragsnr;);
>> but I get a Parser Error:
>> ERROR: parser: parse error at or near ""
>> This is in PostgreSQL 6.5.2
>> Has anyone the correct syntax?
>
>There's nothing wrong with that syntax AFAICS. Furthermore, my copy
>of Postgres takes it just fine (both 6.5.2 and current sources).
>
>I suspect you compiled with a buggy version of yacc or bison. Postgres'
>grammar is large and complex enough that it tends to expose problems
>in vendor-supplied yaccs :-(. Try getting a recent GNU bison (let's
>see ... I have 1.25 installed here, it's probably not the latest)
>and rebuilding.
>
Maybe...:
---------------------------------------------------------------------------
mack@infbsdb1 ~/ingres/ib/bin 385 > psql ib
Welcome to the POSTGRESQL interactive sql monitor: Please read the file COPYRIGHT for copyright terms of POSTGRESQL
[PostgreSQL 6.5.1 on sparc-sun-solaris2.6, compiled by gcc egcs-2.91.66]
type \? for help on slash commands type \q to quit type \g or terminate with semicolon to execute queryYou are
currentlyconnected to the database: ib
ib=> create table auftraege_neu(auftragsnr int4);
CREATE
ib=> create table auftraege_neu_positionen(auftragsnr int4);
CREATE
ib=> create table auftraege_neu_zubehoer(auftragsnr int4);
CREATE
ib=> CREATE RULE auftraege_neu_delete AS ON delete
ib-> TO auftraege_neu DO
ib-> (DELETE FROM auftraege_neu_positionen
ib-> WHERE auftraege_neu_positionen.auftragsnr = OLD.auftragsnr;
ib-> DELETE FROM auftraege_neu_zubehoer
ib-> WHERE auftraege_neu_zubehoer.auftragsnr = OLD.auftragsnr;);
CREATE
ib=> \q
mack@infbsdb1 ~/ingres/ib/bin 386 > bison --version
GNU Bison version 1.25
mack@infbsdb1 ~/ingres/ib/bin 387 > yacc --version
yacc: Command not found.
mack@infbsdb1 ~/ingres/ib/bin 388 >
---------------------------------------------------------------------------
Thomas Mack
TU Braunschweig, Abt. Informationssysteme