oracle触发和存储过程,Oracle存储过程与触发器
Oracle存储过程与触发器
存储过程
存储过程最直接的理解:就是保存了批量的sql(select,insert,if for),以后可以通过一个名字把这些批量的sql执行,使用存储过程在大批量数据查询或计算时会带来高性能,存储过程编写和调试比较复杂,不同数据库产品存储过程差异非常大,很难实现平滑一致。
● 建立存储过程
create or replace procedure proc_test(in_var number,out_var out sys_refcursor)
as
begin
open out_var for select * from emp where deptno=in_var;
end;
● 执行存储过程
var ret refcursor
exec proc_test(20,:ret)
print :ret
触发器
触发器是特殊的存储过程,它与数据库的insert、update和delete相关联,如定义完成触发器之后,会在insert、update或delete语句执行前或执行后自动执行触发器中的内容。
触发器示例,向emp表中加入数据,采用触发器自动再向t_log表里加入一条数据。
● 首先建立t_log表
create table t_log (
log_id number(10) primary key,
log_time date
)
● 为建立t_log的主键建立sequence
create sequence seq_log_id start with 1 increment by 1;
● 建立触发器
create or replace trigger tri_test
after insert on emp
begin
insert into t_log(log_id, log_time) values(seq_log_id.nextval, sysdate);
end;
● 向emp表中加入数据
insert into emp(empno, deptno) values(7777, 10);
在emp中多了一条数据empno为7777,在t_log中自动加入了一条数据,这就是触发器的作用。
oracle触发和存储过程,Oracle存储过程与触发器相关推荐
- oracle学习总结2(pl/sql 游标 异常的处理 存储过程和函数 包 触发器)
pl/sql的学习 给sql添加了逻辑判断与流程控制的功能 语法: declare begin exception end; 运算符 重要的就是赋值运算符了:= 连接 || ...
- oracle触发器函数,oracle 存储过程、函数和触发器用法实例详解
本文实例讲述了oracle 存储过程.函数和触发器用法.分享给大家供大家参考,具体如下: 一.存储过程和存储函数 指存储在数据库中供所有用户程序调用的子程序叫存储过程.存储函数. 创建存储过程 用CR ...
- oracle存储过程 论文,Oracle中基于Java的存储过程开发_计算机论文
论文导读::存储过程是一种数据库对象,将执行计划存储在数据库的服务器中,它的执行速度比独立执行同样的程序要快.任何一个设计良好的数据库应用程序都应该用到存储过程.存储过程可以使得对数据库的管理.显示关 ...
- oracle中创建游标,oracle 存储过程创建游标
Oracle与Sql Server差异点详解 1.create函数或存储过程异同点 Oracle 创建函数或存储过程一般是 create or replace -- SQL SERVER 则是在创建之 ...
- oracle的clob赋值_oracle 存储过程clob参数
.Net处理Oracle中Clob类型字段总结 最近在做项目中用到Clob这个字段,Clob是存储无限长字符的Oracle字段,用的时候网上找资料找了好久,内容不是很多,大部分都不能用,当然也有可以用 ...
- oracle 存储过程 状态,查看ORACLE中正在运行的存储过程 | 学步园
1.如何查看ORACLE中正在运行的存储过程 select owner,name from v$db_object_cache where type like '%PROCE%' and locks ...
- oracle存储while用mysql_oracle存储过程while
Oracle下我个人认为有些事情不一定用存储过程,但还是说一下 oracle 存储过程的基本语法 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN ...
- jdbc批量调用oracle存储过程,oracle学习笔记(二十三)——JDBC调用存储过程以及批量操作...
jdbc调用存储过程 使用并获得out模式的参数返回值 //存储过程为sum_sal(deptno department.deptno%type,sum in out number) Callable ...
- oracle 存储过程打印语句,oracle学习之第一个存储过程:打印Hello World
--第一个存储过程:打印Hello World /* 调用存储过程2种方式: 1.exec sayhelloworld(); 2.begin sayhelloworld(); sayhelloworl ...
- rono在oracle的作用_Oracle中存储过程的作用和用法
存储过程是Oracle开发者在数据转换或查询报表时经常使用的方式之一.它就是想编程语言一样一旦运行成功,就可以被用户随时调用,这种方式极大的节省了用户的时间,也提高了程序的执行效率.存储过程在数据库开 ...
最新文章
- 入门系列之使用fail2ban防御SSH服务器的暴力破解攻击
- 关于android 5.0报错:dlopen failed: couldn't map ... Permission denied
- NOKIA Update for Windows Phone
- POJ1390 Blocks——动态规划——pku1390
- CentOS7 安装 Jenkins( 构建 Vue 和 dotNET Core )
- python以20字符宽居中输出,Python 字符串内置方法(一)
- Fresco 二三事:图片处理之旋转、缩放、裁剪切割图片
- 不敢摔!三星Galaxy Fold换屏费用可以入手一部华为Mate 30了
- linux make乱码,linux乱码
- Bootstrap3 排版-地址
- windows8 系统语言由中文修改为英文系统
- 银行服务发布新版价目表 今起按新标准收费
- H2080刷卡门禁一体机使用说明书 誉诚AD281A-T楼宇主机说明书
- 为什么我在CSDN坚持写了3年多的博客?
- NOIP模拟赛8.16 C、长跑(LCT)
- 微信小程序实战通:小程序结合flask后台实现身份证智能识别
- 城市筛选数据(根据2020年度全国统计用区划代码和城乡划分代码更新维护的标准)
- matlab条件限制曲线,matlab曲线拟合:对参数的限制
- MFC IPAddressCtrl控件的使用
- mysql 二进制日志大小_mysql二进制日志相关参数