oracle raise默认作用,postgreSQL之raise用法
raise函数
在PostgreSQL中,该函数用于打印字符串,类似于Java中的System.out.println(),Oracle中的dbms_output.put_line()。
在PostgreSQL中可以利用RAISE语句报告信息和抛出错误,其声明形式为:
RAISE level 'format' [, expression [, ...]];
1
RAISElevel'format'[,expression[,...]];
用法实例如下:
raise notice 'My name is %, I am a %.', 'glj', 'Handsome boy';
1
raisenotice'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;
1
2
3
4
5
6
7
8
9
10
11
12
createorreplacefunctionraise_demo()
returnsvoidas$body$
declare
param1text:='glj';
param2text:='Handsome boy';
begin
raisenotice'My name is %, I am a %.',param1,param2;
end;
$body$
LANGUAGE'plpgsql'VOLATILE
COST100;
在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
1
2
3
4
[SQL]selectraise_demo()
NOTICE:Mynameisglj,IamaHandsomeboy.
CONTEXT:PL/pgSQLfunctionraise_demo()line7atRAISE
最后一个带错误提示的例子:
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;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATEORREPLACEFUNCTIONGETEXCEPTION(exception_ttext)
RETURNSvoidAS
$$
BEGIN
IFexception_t='修车'THEN
RAISENOTICE'你的车出问题了。该去修修!';
ELSIFexception_t='卖车'THEN
RAISENOTICE'你的车都不用修了,去卖了吧!';
ELSE
RAISENOTICE'啥问题也没!';
ENDIF;
EXCEPTION
WHENothersTHEN
RAISEEXCEPTION'(%)',SQLERRM;
END
$$LANGUAGEPLPGSQL;
oracle raise默认作用,postgreSQL之raise用法相关推荐
- python里raise是什么意思_python raise有什么用
Python 允许程序自行引发异常,使用 raise 语句即可. 异常是一种很"主观"的说法,以下雨为例,假设大家约好明天去爬山郊游,如果第二天下雨了,这种情况会打破既定计划,就属 ...
- SQL全方位攻略:5. SQL “方言”大比拼:Oracle、MySQL、PostgreSQL限制检索行数语法详解(分页查询)
系列文章目录 SQL全方位攻略:1.数据库介绍 SQL全方位攻略:2.SQL介绍 SQL全方位攻略:3.SQL标准 SQL全方位攻略:4. 标准SQL和SQL"方言" 文章目录 系 ...
- Oracle数据泵备份与恢复 命令 expdp/impdp 用法详解
Oracle数据泵备份与恢复 命令 expdp/impdp 用法详解 关于expdp和impdp 使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户 ...
- oracle账户密码怎么写,oracle 10g默认用户名、密码解锁
评论 # re: oracle 10g默认用户名.密码解锁 2007-06-13 14:01 老董 楼主很强啊!佩服--- 回复 更多评论 # re: oracle 10g默认用户名.密码解锁 2 ...
- 1.oracle中的exists 和not exists 用法:
1.oracle中的exists 和not exists 用法: exists (sql 返回结果集为真) not exists (sql 不返回结果集为真) 如下: 表A ID NAME 1 A1 ...
- oracle系统视图作用大全
oracle系统视图作用大全 DBA学习第一步,了解system下各视图功能 -----------DBA---------------- DBA_2PC_NEIGHBORS 包含待处理事务进入连接和 ...
- oracle中的exists 和 not exists 用法详解
from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...
- 修改oracle数据库默认时间格式
oracle数据库默认的时间格式只能精确到天(DD-MON-RR),在实际工作环境中,开发程序通常需要取得精确到秒的时间值,经查询资料在oracle中修改时间值的方式大致可以分为以下几种: 1.临时修 ...
- Oracle里default什么意思,ORACLE中默认值default的使用方法.doc
ORACLE中默认值default的使用方法 在创建数据库表时,你可以指定一个 DEFAULT 值(即默认值).对数据库字段使用默认值有助于将数据库设计问题与应用程序代码隔离. 可以在以后某个时候通过 ...
最新文章
- 嵌入式 linux 进程锁,嵌入式 Linux线程锁详解pthread_mutexattr_t
- View是如何被添加到屏幕窗口上的
- Java的基础方法Java的对象_java基础之 创建对象的几种方式
- 算法导论之有关数论的算法
- c语言指着与数组,C语言指针与数组
- 【转】带你玩转Visual Studio——04.带你高效开发
- 医疗保健、零售、金融、制造业……一文带你看懂大数据对工业领域的影响!...
- 一文看尽科大讯飞年度发布会:医疗,是这家A股AI公司的新赛道
- linux源码Makefile详解(完整)-转
- Spring(16) 获得bean的id
- 什么软件可以在给多个视频添加马赛克同时批量裁剪画面呢?
- layer的iframe用法整理
- 南水北调工程简介及线路图
- Bloxorz POJ3322
- GitHub圣诞最火神器:“时光穿梭机”一键实现变老变年轻!
- 就在明天 用友企业数智化财务峰会落地广州,聚焦实现业财合一新价值
- Java-Excel报表开发POI(含POI保护工作表功能)
- 数据采集爬虫ip代理基本原理
- 计算机网络复习记录 (2)Chap 4
- python爬虫--小白爬取csdn页面题目与链接