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存储过程与触发器相关推荐

  1. oracle学习总结2(pl/sql 游标 异常的处理 存储过程和函数 包 触发器)

    pl/sql的学习 给sql添加了逻辑判断与流程控制的功能 语法: declare begin exception end; 运算符 重要的就是赋值运算符了:=        连接  ||       ...

  2. oracle触发器函数,oracle 存储过程、函数和触发器用法实例详解

    本文实例讲述了oracle 存储过程.函数和触发器用法.分享给大家供大家参考,具体如下: 一.存储过程和存储函数 指存储在数据库中供所有用户程序调用的子程序叫存储过程.存储函数. 创建存储过程 用CR ...

  3. oracle存储过程 论文,Oracle中基于Java的存储过程开发_计算机论文

    论文导读::存储过程是一种数据库对象,将执行计划存储在数据库的服务器中,它的执行速度比独立执行同样的程序要快.任何一个设计良好的数据库应用程序都应该用到存储过程.存储过程可以使得对数据库的管理.显示关 ...

  4. oracle中创建游标,oracle 存储过程创建游标

    Oracle与Sql Server差异点详解 1.create函数或存储过程异同点 Oracle 创建函数或存储过程一般是 create or replace -- SQL SERVER 则是在创建之 ...

  5. oracle的clob赋值_oracle 存储过程clob参数

    .Net处理Oracle中Clob类型字段总结 最近在做项目中用到Clob这个字段,Clob是存储无限长字符的Oracle字段,用的时候网上找资料找了好久,内容不是很多,大部分都不能用,当然也有可以用 ...

  6. oracle 存储过程 状态,查看ORACLE中正在运行的存储过程 | 学步园

    1.如何查看ORACLE中正在运行的存储过程 select owner,name from v$db_object_cache where type like '%PROCE%' and locks ...

  7. oracle存储while用mysql_oracle存储过程while

    Oracle下我个人认为有些事情不一定用存储过程,但还是说一下 oracle 存储过程的基本语法 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN ...

  8. jdbc批量调用oracle存储过程,oracle学习笔记(二十三)——JDBC调用存储过程以及批量操作...

    jdbc调用存储过程 使用并获得out模式的参数返回值 //存储过程为sum_sal(deptno department.deptno%type,sum in out number) Callable ...

  9. oracle 存储过程打印语句,oracle学习之第一个存储过程:打印Hello World

    --第一个存储过程:打印Hello World /* 调用存储过程2种方式: 1.exec sayhelloworld(); 2.begin sayhelloworld(); sayhelloworl ...

  10. rono在oracle的作用_Oracle中存储过程的作用和用法

    存储过程是Oracle开发者在数据转换或查询报表时经常使用的方式之一.它就是想编程语言一样一旦运行成功,就可以被用户随时调用,这种方式极大的节省了用户的时间,也提高了程序的执行效率.存储过程在数据库开 ...

最新文章

  1. 入门系列之使用fail2ban防御SSH服务器的暴力破解攻击
  2. 关于android 5.0报错:dlopen failed: couldn't map ... Permission denied
  3. NOKIA Update for Windows Phone
  4. POJ1390 Blocks——动态规划——pku1390
  5. CentOS7 安装 Jenkins( 构建 Vue 和 dotNET Core )
  6. python以20字符宽居中输出,Python 字符串内置方法(一)
  7. Fresco 二三事:图片处理之旋转、缩放、裁剪切割图片
  8. 不敢摔!三星Galaxy Fold换屏费用可以入手一部华为Mate 30了
  9. linux make乱码,linux乱码
  10. Bootstrap3 排版-地址
  11. windows8 系统语言由中文修改为英文系统
  12. 银行服务发布新版价目表 今起按新标准收费
  13. H2080刷卡门禁一体机使用说明书 誉诚AD281A-T楼宇主机说明书
  14. 为什么我在CSDN坚持写了3年多的博客?
  15. NOIP模拟赛8.16 C、长跑(LCT)
  16. 微信小程序实战通:小程序结合flask后台实现身份证智能识别
  17. 城市筛选数据(根据2020年度全国统计用区划代码和城乡划分代码更新维护的标准)
  18. matlab条件限制曲线,matlab曲线拟合:对参数的限制
  19. MFC IPAddressCtrl控件的使用
  20. mysql 二进制日志大小_mysql二进制日志相关参数

热门文章

  1. socket websocket
  2. 洛谷 P1529 回家 Bessie Come Home Label:Dijkstra最短路 乱搞
  3. Oracle服务器连接
  4. Java知多少(105)套接字(Socket)
  5. 活期储蓄账目管理系统
  6. ios UIPickerView 技巧集锦
  7. 为文档快速插入页眉和页脚
  8. leetcode LCP 19. 秋叶收藏集(dp)
  9. leetcode542. 01 矩阵(bfs/dp)
  10. react css多个变量_如何使用CSS变量和React上下文创建主题引擎