1
我需要检查有多少行受更新或插入影响(实际上,此时只有更新)。我创建了以下功能:获取受更新或插入影响的行数
CREATE OR REPLACE FUNCTION rows_affected()
RETURNS integer AS
$BODY$
DECLARE
x INTEGER := -1;
BEGIN
GET DIAGNOSTICS x = ROW_COUNT;
RETURN x;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION rows_affected()
OWNER TO alex1;
然后我更新了一个表并调用了这个函数,结果为零。然后我插入一行并一次又一次地调用该函数,结果为零。这是怎么回事?我如何检查受更新或正确插入影响的行数?
UPDATE:
我希望这是不行的,相反,它总是返回0作为行的影响量:
SELECT rows_affected();
update email set email='fdsfds' where id = 1;
insert into email(email) values('fdsfsdfdsfds');
SELECT rows_affected();
古德里安?谢啦。 –
是的,就是我) – Stan
这是否意味着我只能在其他函数中调用ROW_COUNT?请看我的更新。 –