Обсуждение: Trigger function aborts the transaction on exception

Поиск
Список
Период
Сортировка

Trigger function aborts the transaction on exception

От
"Rajat Katyal"
Дата:
Hi:
I came to know from the postgresql documentation that PostgreSQL does not have a very smart exception handling model. I wonder whether anyone can help me or suggest some alternate solution for the problem stated below:
 
I have a trigger function defined for the insert and iam executing sql statement as:
 
insert into target_table select * from source_table;
 
Now there could be scenario that in some record error occured due to the typecast of char  ---> numeric (e.g if it try to insert alphanumeric characters in the numeric datatype )  therefore i want to catch the execption and want to make it entry in some other table but my process of insertion for the other records should go on as they have valid records. But it throws the exception and aborts the transaction.
 
Please help me and suggest some solution for this problem.
 
Thanks in advance.
 
Rajat.

Re: Trigger function aborts the transaction on exception

От
Martijn van Oosterhout
Дата:
On Sat, Feb 28, 2004 at 03:21:25PM +0530, Rajat Katyal wrote:
> insert into target_table select * from source_table;
>
> Now there could be scenario that in some record error occured due to
> the typecast of char ---> numeric (e.g if it try to insert
> alphanumeric characters in the numeric datatype ) therefore i want to
> catch the execption and want to make it entry in some other table but
> my process of insertion for the other records should go on as they
> have valid records. But it throws the exception and aborts the
> transaction.

Add a where condition to only add lines that are numbers. For example:

insert into target_table select * from source_table where field ~ '^[0-9.]+$';

Hope this helps,
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> If the Catholic church can survive the printing press, science fiction
> will certainly weather the advent of bookwarez.
>    http://craphound.com/ebooksneitherenorbooks.txt - Cory Doctorow

Вложения