postgreSQL之raise用法
本文最后更新于 2493 天前,其中的信息可能已经有所发展或是发生改变。

raise函数

在PostgreSQL中,该函数用于打印字符串,类似于Java中的System.out.println(),Oracle中的dbms_output.put_line()。

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

RAISE level 'format' [, expression [, ...]];

用法实例如下:

raise notice 'My name is %, I am a %.', 'glj', 'Handsome boy';

以上sql会在控制台输出My name is glj, I am a Handsome boy。

raise后面的notice是级别,一共有debug/log/info/notice/warning/exception这些级别,可以任意指定一个级别。有些类似于Java里的日志框架,比如Log4j2之类的。

接着级别后面的是要输出的信息(字符串类型),用一对单引号包括起来。这个字符串支持占位符的写法,也就是%这个字符。如果在字符串里使用了这个%,那么会自动使用字符串参数后面的参数来替换掉这里的%。有多少个占位符,就需要在第一个字符串参数后面加上多少个对应的参数。

演示raise的日常使用:

create or replace function raise_demo() 
	returns void as $body$
	
declare 
	param1 text:= 'glj';
	param2 text:= 'Handsome boy';
begin 
	raise notice 'My name is %, I am a %.', param1, param2;
end;
$body$
LANGUAGE 'plpgsql' VOLATILE 
COST 100;

在Navicat 查询窗口中执行select raise_demo();

将会在输出窗口的历史区域看到如下信息:

— 执行查询: select raise_demo();

如果用navicat 在信息栏可看到

[SQL]select raise_demo()

NOTICE:  My name is glj, I am a Handsome boy.
CONTEXT:  PL/pgSQL function raise_demo() line 7 at RAISE

最后一个带错误提示的例子:

CREATE OR REPLACE FUNCTION GETEXCEPTION(exception_t text) 
	RETURNS void AS
$$
BEGIN
    IF exception_t = '修车' THEN
       RAISE NOTICE '你的车出问题了。该去修修!'; 
    ELSIF  exception_t = '卖车' THEN  
       RAISE NOTICE '你的车都不用修了,去卖了吧!'; 
    ELSE 
       RAISE NOTICE '啥问题也没!'; 
    END IF;

    EXCEPTION
    WHEN others THEN    
    RAISE EXCEPTION '(%)', SQLERRM; 
END
$$ LANGUAGE PLPGSQL;

 


Image
Image

评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇