knp*_*wrs 2 postgresql plpgsql
给定以下骨架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;
Run Code Online (Sandbox Code Playgroud)
目前这将始终返回true,即使没有更新的行.我希望false在没有行受更新影响的情况下返回.
在UPDATE之后,您可以使用手册中描述GET DIAGNOSTICS的FOUND状态变量获取更新的行数:
http://www.postgresql.org/docs/current/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-DIAGNOSTICS
| 归档时间: |
|
| 查看次数: |
4918 次 |
| 最近记录: |