Re: making a rule and know when it is violated
От | Kris Jurka |
---|---|
Тема | Re: making a rule and know when it is violated |
Дата | |
Msg-id | Pine.BSO.4.56.0502211107470.29249@leary.csoft.net обсуждение исходный текст |
Ответ на | making a rule and know when it is violated ("Nico" <nicohmail-postgresql@yahoo.com>) |
Список | pgsql-jdbc |
On Mon, 21 Feb 2005, Nico wrote: > Hello, I want to make a rule in phpPgAdmin(PostgreSQL 7.3.8-RH ). Then I > want to intercept any violation on that rule in java. Here is the table > creation code: CREATE TABLE "tblUser" ( > "UserID" serial NOT NULL, > "UserName" character varying(50) NOT NULL, > "UserPass" character varying(50) NOT NULL, > "UserRoleID" integer DEFAULT 3 NOT NULL > ); > Now it's imperative that the field UserRoleID has maximum one record that > contains the integer 1. Possible other values are 2 and 3. They are allowed > to exist in more than one record. Enforcing this constraint in the database can be done with a partial unique index: CREATE UNIQUE INDEX myi ON mytable(mycol) WHERE mycol = 1; > After that I need to know in java how to know when a violation of this rule > occurs. The server will report a violation of this with an SQLException.getSQLState value indicating a duplicate key exception. This is no different than any other duplicate key exception so there is no real way to tie it back to what particular constrain is violated without trying to look in the actual message text. Actually re-reading the above you mention 7.3.X which does not support SQLState values (this is a 7.4+ feature), so you're only feedback will be the message text itself. Kris Jurka
В списке pgsql-jdbc по дате отправления: