sql problem
am 05.11.2004 15:34:30 von ff
Hi,
I am having a problem with a system I developed using php with postgres.
Take a look at this:
Welcome to psql 7.3.2, the PostgreSQL interactive terminal.
NetAdmin=# delete from operador where oplogin = 'ff';
ERROR: fk_historicosessao_operador referential integrity violation - key in
operador still referenced from historicosessao
and then, this:
Welcome to psql 7.4.2, the PostgreSQL interactive terminal.
NetAdmin=# delete from operador where oplogin = 'ff';
ERROR: update or delete on "operador" violates foreign key constraint
"fk_historicosessao_operador" on "historicosessao"
I am not able to get a error_number in pgsql errors, only the error message.
So when I used pgsql 7.3 a used the string "referential integrity violation"
to detect this error, but on version 7.4 of pgsql this string was replaced
with "violates foreign key constraint" .
Anyone has a definitive solution on this or the way is to wait and change all
my code on future releases of pgsql?
Thank you all for the attention.
--
Att.
Flavio Fonseca
Administrador de Redes
Divisao de Redes
Universidade Federal de Uberlandia
---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match
Re: sql problem
am 05.11.2004 17:50:32 von achill
O Flavio Fonseca Ýãñáøå óôéò Nov 5, 2004 :
> Hi,
>
> I am having a problem with a system I developed using php with postgres.
>
> Take a look at this:
>
> Welcome to psql 7.3.2, the PostgreSQL interactive terminal.
> NetAdmin=# delete from operador where oplogin = 'ff';
> ERROR: fk_historicosessao_operador referential integrity violation - key in
> operador still referenced from historicosessao
>
> and then, this:
>
> Welcome to psql 7.4.2, the PostgreSQL interactive terminal.
> NetAdmin=# delete from operador where oplogin = 'ff';
> ERROR: update or delete on "operador" violates foreign key constraint
> "fk_historicosessao_operador" on "historicosessao"
>
> I am not able to get a error_number in pgsql errors, only the error message.
> So when I used pgsql 7.3 a used the string "referential integrity violation"
> to detect this error, but on version 7.4 of pgsql this string was replaced
> with "violates foreign key constraint" .
> Anyone has a definitive solution on this or the way is to wait and change all
> my code on future releases of pgsql?
The right way to do so is to query for the SQLSTATE codes.
For instance the jdbc7.4.6 driver supports sqlstate, which you can
retrieve by sqle.getSQLState()
That text of an Error may change across releases but the error code should
be constant.
p.s
I dont do it my self. i just let my users educate themselves :)
>
>
> Thank you all for the attention.
>
--
-Achilleus
---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match