Is there a way to trap this error in plpgsql code?
I have a function that accepts integer and character varying. Inside that function I need to cast that varchar to integer. Of course, sometimes that is not possible. When I run function like that, I get this errror:
fidel=# select * from get_account_info_by_tan(1, 'mario'); ERROR: invalid input syntax for integer: "mario" CONTEXT: SQL statement "SELECT user_id FROM user_tans WHERE user_tan = $1 ::bigint" PL/pgSQL function "get_account_info_by_tan" line 8 at assignment
Now, I know I could change the SELECT so it looks like:
SELECT user_id FROM user_tans WHERE user_tan::varchar = $1
But, is there a way to trap above error usin EXCEPTION WHEN keyword in plpgsql?