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?請看我的更新。 –