以下に示すようなテーブルがありtablea
ます。
tablea
前の挿入から前の値を取得してに行を挿入したい、つまり、それMAX(pid)
を初めて挿入中にnullを取得したとき。
これは、 FIDDLE でコメントしたように、いくつかの SQL ステートメントを使用して試したSQL FIDDLE です。
create table tablea(
sno serial,
pid integer,
pname text
);
-- I am unable to retrieve the null value from the database and store it with pid as 0 so i had inserted this default value
insert into tablea(sno,pid,pname)
values(0,0,'default');
CREATE OR REPLACE FUNCTION insert_details(_pname text)
RETURNS void AS
$BODY$
declare
_pid int;
begin
_pid := ((select MAX(pid) from tablea)+1);
insert into tablea(pid,pname)
values(_pid,_pname);
end;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;