`
- 浏览:
164367 次
- 性别:
-
704
一些补充
1、存储过程的参数
in:输入参数,用于向过程传入一个值
实际参数可以是一个具体的值或一个有值的变量
out:输出参数,用于从被调用的过程中返回一个值
实际参数必须是一个变量
in out:用于向过程传入一个初始值,返回更新后的值
实际参数必须是一个预先已经赋值的变量
2、游标
-- 定义一个不带参数的游标emp_cur1
cursor emp_cur1 is select * from employee;
-- 定义一个带参数的游标emp_cur2
cursor emp_cur2 (empno_in in number) is select name,hiredate from employee where empno = empno_in;
-- 定义一个带有return 子句的游标
cursor emp_cur3 return employee%rowtype is select * from employee where empno = 1;
想通过游标更新数据,必须在select语句后加上for update,则select的所有行都被锁定
for update of 列名 则该列被锁定,不影响其他列修改
nowait
where current of 游标名
指向游标当前指向的行
-1.具有返回类型的,称为有约束的游标或者强游标
type type_name is ref cursor return return_type;
-2.没有返回类型的,称为无约束的游标或者弱游标
type type_name is ref cursor
3、例外处理
--预定义异常
no_data_found too_many_rows
--非预定义异常
pragma exception_init(<exception_name>,<handle_code>)
将一个Oracle错误编号与异常名建立起来
--用户自定义异常
raise
--RAISE_APPLICATION_ERROR
将应用程序专有的错误从服务器端转达到客户端应用程序
RAISE_APPLICATION_ERROR (error_number_in IN NUMBER, error_msg_in IN VARCHAR2);
error_number_in 之容许从 -20000 到 -20999 之间,这样就不会与 ORACLE 的任何错误代码发生冲突 error_msg_in 的长度不能超过 2K,否则截取 2K。
--内置函数 SQLCODE SQLERRM
返回Oracle的错误代码和错误消息。
4、执行动态SQL
EXECUTE IMMEDIATE 'delete from '||p_table_name;
5、触发器
--语句级(STATEMENT)触发器:是指当某触发事件发生时,该触发器只执行一次;
--行级(ROW)触发器:是指当某触发事件发生时,对受到该操作影响的每一行数据,触发器都单独执行一次。
for each row
--old new
insert update delete
:NEW null 实际值 实际值
:OLD 实际值 实际值 null
REFERENCING 子句说明相关名称,在行触发器的PL/SQL块和WHEN 子句中可以使用相关名称参照当前的新、旧列值,默认的相关名称分别为OLD和NEW。触发器的PL/SQL块中应用相关名称时,必须在它们之前加冒号(:),但在WHEN子句中则不能加冒号。
WHEN 子句说明触发约束条件。Condition 为一个逻辑表达时,其中必须包含相关名称,而不能包含查询语句,也不能调用PL/SQL 函数。WHEN 子句指定的触发约束条件只能用在BEFORE 和AFTER 行触发器中,不能用在INSTEAD OF 行触发器和其它类型的触发器中。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
plsql中 sql 语句自动补全 如 只输入s 即可自动补全为 select * from 使用方法 下载该文件 并在plsql中 选择 tools-perferences-edit-autoreplaces 点击浏览 选择该文件
一. 目录结构 D:\install\PLSQL |-- instantclient_11_2 |-- tnsnames.ora |-- PLSQL Developer |-- readme.txt ... 补充 tnsnames.ora 文件需要手动创建并进行相应的设置, 参考网上教程.
oracle数据库系统的好工具,plsql程序设计,内容详尽,适合初学者,步骤详细,是一份难能可贵的资料,我找了很久的,现在共享给大家
pl/sql代码自动补充插件CnPlugin,可以在plsql中实现快捷键的自动代码填充
要学Oracle_PLSQL,这个文档很好!自己正在学习中!跟大家一起分享!补充一下:这里面的是基础内容!我自己正在学习的也是基础!
CnPluginv1.5 PLSQL插件实现快速补充
1-1 pl/sql可以做的工作: 1. 用pl/sql的存储过程...6.plsql是sql的有力补充,与sql之间的联系紧密,整合性强。 7.plsql是oracle数据库产品的内置语言,不是一个孤立的语言。 8.是一种高性能的语言。 9.pl/sql运行过程
CSDN对上传资源无法修改 在精简客户端中,环境变量还应添加 NLS_LANG --> SIMPLIFIED CHINESE_CHINA.ZHS16GBK ( 防止乱码 )
一. 目录结构 二. 环境变量 三. PL/SQL Developer 环境设置 四. 补充
主要用于补充开发工具在DBA管理方面的一些工作。
Oracle P/L SQL实现发送Email、浏览网页等网络操作功能 Oracle P/L SQL实现发送Email、浏览网页等网络操作功能,以下是此过程包的头部,包体经常打包处理plb,感兴趣用户可以下载下来。 --....Drop Type Strcat_type;...
什么是OPAL工具? 问题 您是否有办法将Oracle代码更改(PL / SQL,APEX,ORDS)从开发环境移至测试和生产? 还是您对现有的设备不满意,在安装过程中出错,错过未部署的更改或不知道何时将更改部署到哪个环境?...
Oracle数据库的操作工具,类似于Toad,PLSQL等,可以作为他们的补充。
1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp命令导入导出,避免第三方工具版本差异引起的问题,同时效率更高,但特别注意:...
1)Oracle开发专题99%收集自: ...2) PLSQL开发笔记和小结收集自http://www.blogjava.net/cheneyfree/ 3)分析函数简述收集自http://space.itpub.net/7607759/ 昆明小虫http://ynlxc.cnblogs.com/ 收集,并补充了一点点1%
工具补充: Navicat Premium 安装和使用 直接安装 ok jquery easyui 总合 (直接看API文档 后期加上如何使用) Orcale 创建用户 先进入 Orcale 命令行 针对 BOS 系统建立新的用户 创建 bos/bos ...
oracle学习资料,适合初中级入门级别的学习内容,或者补充了解相关知识
对 Oracle Pl/SQl 的面试题目, 是DBA考试用的,这些类型得分题目在每次的面试中基本上都会碰到。所以这里重新整理,并补充最新的题目,和大家分享哦~~~~~
PL/SQL 基础,一个不错的 PL/SQL 参考手册。内容预览: ---- 第一章 PL/SQL 简介 ---- 1. Oracle应用编辑方法概览 1) Pro*C/C++/...... 2) ODBC 3) OCI: C语言和数据库打交道的方法,和Pro*C很相似,更底层,很少...
│ plsql.sql │ ├─12 索引 │ index.sql │ ├─13 游标 │ cursor.sql │ ├─14 存储过程 │ procedure.sql │ ├─15 函数 │ function.sql │ ├─16 触发器 │ trigger.sql │ ├─17 设计范式 │ ...