Учитывая следующую скелетную функцию pl / pgsql, как я могу заставить ее вернуть true
, если обновление прошло успешно (что-то было действительно обновлено) и false в противном случае?
CREATE FUNCTION UpdateThingy(
/* input parameters */
) RETURNS BOOLEAN AS $$
BEGIN
UPDATE thingies SET /* blah blah */ WHERE /* blah blah */;
RETURN true;
END;
$$ LANGUAGE plpgsql;
В настоящее время это всегда будет возвращать true
, даже если строки не были обновлены. Я хочу вернуть false
, если обновление не затронет ни одной строки.