韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > PostgreSQL > postgresql中怎么抛出异常

postgresql中怎么抛出异常

头像

silencement

2020-03-06 15:29:326041浏览 · 0收藏 · 0评论

在PL/pgSQL函数中,如果没有异常捕获,函数会在发生错误时直接退出,与其相关的事物也会随之回滚。我们可以通过使用带有

EXCEPTION子句的BEGIN块来捕获异常并使其从中恢复。见如下声明形式:

[ <> ]
[ DECLARE
    declarations ]
BEGIN
    statements
EXCEPTION
  WHEN condition [ OR condition ... ] THEN
            handler_statements
  WHEN condition [ OR condition ... ] THEN
         handler_statements
END;

如果没有错误发生,只有BEGIN块中的statements会被正常执行,然而一旦这些语句中有任意一条发生错误,其后的语句都将被跳过,

直接跳转到 EXCEPTION块的开始处。此时系统将搜索异常条件列表,寻找匹配该异常的第一个条件,如果找到匹配,则执行相应的 

handler_statements,之后再执行END的下一条语句。如果没有找到匹配,该错误就会被继续向外抛出,其结果与没有EXCEPTION子 

句完全等同。如果此时handler_statements中的语句发生新错误,它将不能被该EXCEPTION子句捕获,而是继续向外传播,交由其外层 

的EXCEPTION子句捕获并处理。

在PostgreSQL中可以利用RAISE语句报告信息和抛出错误,其声明形式为:

这里包含的级别有DEBUG(向服务器日志写信息)、LOG(向服务器日志写信息,优先级更高)、INFO、NOTICE和WARNING(把信息写到服务器日志以及转发到客户端应用,优先级逐步升高)和EXCEPTION抛出一个错误(通常退出当前事务)。某个优先级别的信息是报告给客户端还是写到服务器日志,还是两个均有,是由log_min_messages和client_min_messages这两个系统初始化参数控制的。

在format部分中,%表示为占位符,其实际值仅在RAISE命令执行时由后面的变量替换,如果要在format中表示%自身,可以使用%%的

形式表示,见如下示例:

RAISE NOTICE 'Calling cs_create_job(%)',v_job_id;--v_job_id变量的值将替换format中的%。
RAISE EXCEPTION 'Inexistent ID --&gt; %',user_id;

简单来说:

--抛出异常
RAISE EXCEPTION '你出问题了。该修修!';
--使用SQLERRM 来显示错误信息。
RAISE EXCEPTION '(%)', SQLERRM;

见如下示例:

CREATE OR REPLACE FUNCTION GETEXCEPTION(v_phone text) RETURNS void AS
$$
BEGIN
    IF v_phone = 'iphone' THEN
       RAISE EXCEPTION '你出问题了。该修修!';
    ELSIF  v_phone = 'samsung' THEN
       RAISE EXCEPTION '你会爆炸,离你远点!';
    else
       RETURN;
    END IF;
    EXCEPTION
    WHEN others THEN
    RAISE EXCEPTION '(%)', SQLERRM;
END
$$ LANGUAGE PLPGSQL;

更多技术请关注Python视频教程。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

曾仕贤| 星空传媒天美传媒有限公司| 他的大手在秘密花园游走漫画| 小寡妇在线观看免费播放电视剧| 无情扌雷辶鬲| 《我的漂亮老师2》| 主动把奶头放进男朋友嘴巴里 | 宝宝扶着水池乖乖让爸爸洗头文| 韩剧《小叔子》免费观看| 《女朋友的妹妹3》| 老公装醉看我和别人在一起| 美国禁忌| 免费直播入口在线观看| 边摸边吃奶边做的视频| 女团热舞DJ| 韩剧《我的瑜伽教练》| 女性左腿又开腿肚子中间疼视频 | 类似蜜桃成熟时的电影| 合不拢腿(双)BY粗眉毛免费阅..| 女明星光溜溜图片视频素材| 国产老熟妇精品观看| 倫理片《亂倫》| 《酒店激战》动漫1-5集免费观...| 日韩精品一区二区三区| 大叔与妹妹免费观看电视剧高清 | 白日梦我电视剧免费观看完整版 | 老师穿白色双开真丝旗袍怎么穿| 男生的困困到女生困困里视频免费| 《吃你吃上瘾》| 年轻的嫂子2| 下面好湿~想要~深一点| 医生含着我的奶边摸边做视频| 电影《轮番上阵》| 暴躁妹妹CSGO直播| 在野外自慰和陌生人做了| 皇空传媒天美传媒有限公司| 公憩止痒小说原著叫什么名字 | 丁香五月色情久久久久| 亚洲图片| 香蕉视频APP| 电影《满足2》完整版在线观看