Обсуждение: plpgsql: Checking status on a 'INSERT INTO ...'

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

plpgsql: Checking status on a 'INSERT INTO ...'

От
Turbo Fredriksson
Дата:
I'm porting some stored procedures from a MSSQL server, and thought
I'd use PL/pgSQL.

The original code is checking the insert with the line:
       if (@@Error != 0)

How do I do the same thing in PL/pgSQL?

-- Turbo     __ _     Debian GNU     Unix _IS_ user friendly - it's just ^^^^^    / /(_)_ __  _   ___  __  selective
aboutwho its friends are         / / | | '_ \| | | \ \/ /   Debian Certified Linux Developer   _ /// / /__| | | | | |_|
|> <  Turbo Fredriksson   turbo@tripnet.se \\\/  \____/_|_| |_|\__,_/_/\_\ Stockholm/Sweden
 

explosion ammonium ammunition iodine strategic Rule Psix NORAD FBI
fissionable Treasury cryptographic killed AK-47 Nazi Waco, Texas
[See http://www.aclu.org/echelonwatch/index.html for more about this]


Re: plpgsql: Checking status on a 'INSERT INTO ...'

От
"Reinoud van Leeuwen"
Дата:
> I'm porting some stored procedures from a MSSQL server, and thought I'd
> use PL/pgSQL.
> 
> The original code is checking the insert with the line:
> 
>        if (@@Error != 0)

You might want to use something like:

SELECT INTO variable_name * FROM tableWHERE field = some_value;

IF FOUND THEN somevar := variable_name.fieldname ;
ELSE RAISE EXCEPTION ''ERROR blah blah'';
END IF;

And you also want to look into the @@rowcount:

GET DIAGNOSTICS v_rowcount = ROW_COUNT ;

Reinoud