pl/sql编程
oracle pl/sql进阶
-你真好看-
这个作者很懒,什么都没留下…
展开
-
oracle自治事务
自治事务自治事务是在某个会话中独立开启一个事务,在其中处理的操作不会影响到同一会话中其他事务未提交的内容自治事务的特点1:这段程序不依赖于原有Main程序,比如Main程序中有未提交的数据,那么在自治事务中是查找不到的。2:在自治事务中,commit或者rollback只会提交或回滚当前自治事务中的DML,不会影响到Main程序中的DML。一般我们用PRAGMA AUTONOMOUS_T...原创 2020-04-14 09:37:20 · 215 阅读 · 0 评论 -
ora-04091 表发生变化,触发器/函数不能读他
如标题,我在对一个表进行插入的时候,需要对该记录的某一字段进行修改,通过触发器进行修改。原触发器如下CREATE OR REPLACE TRIGGER t_bingrsj_shijms_updateAFTER INSERT ON bingrsjFOR EACH ROW BEGIN UPDATE bingrsj SET shijms = '' WHERE zhuyh = :new....原创 2020-03-06 17:19:35 · 758 阅读 · 0 评论 -
pl/sql编程----游标
游标游标分为三种:隐式游标,显式游标,REF游标隐式游标:在pl/sql程序中执行dmlSQL时自动创建隐式游标,增删改操作;sql%found 影响了一行或者多行时为true(既数据发生了改变)begin update caozyxx set mim = ''; if sql%found then dbms_output.put_line('发生修改'); else ...原创 2019-04-17 09:53:53 · 383 阅读 · 0 评论 -
pl/sql编程----例外
例外的分类:oracle将例外分为预定义例外,非预定义例外和自定义例外预定义例外:用于处理常见的oracle错误;预定义例外是由pl/sql所提供的系统例外,当pl/sql应用程序违反了oracle规定的限制时,则会隐含的触发一个内部例外,pl/sql为开发人员提供了二十多个预定义例外;非预定义例外:用于处理预定义例外不能处理的例外;自定义例外:用于处理与oracle 错误无关的其他情况;...原创 2019-04-11 20:50:58 · 260 阅读 · 0 评论 -
pl/sql编程--分页过程实例
编写分页过程,就需要将包,游标,过程,SQL结合起来:下面看案例:--创建包,定义一个游标create or replace package sp_package as type tesc_cursor is ref cursor;end sp_package;--创建过程create or replace procedure feny(spname in varchar2,--分...原创 2019-04-11 14:19:13 · 270 阅读 · 0 评论 -
pl/sql编程--(在sql中)带有输入输出参数,游标的过程调用实例
带有输入输出的存储过程首先来创建一个表,执行脚本如下脚本: --删除表 drop table book; --创建表book create table book (bid number,bname varchar2(50),bhouse varchar2(50)); --插入数据 insert into book(bid,bname,bhouse) ...原创 2019-04-10 14:27:14 · 1613 阅读 · 0 评论 -
pl/sql编程----控制结构
控制结构:条件语句,循环语句,顺序控制语句…条件分支语句:pl/sql提供了三种条件分支语句:if—then,if----then----else,if----then----elsif----else首先if–then: if----then,if后面是一个条件,满足条件将会执行then后的代码,不满足将不会执行。写完执行if–then后一定要加上end if;表示if–then语句执行...原创 2019-04-09 15:51:19 · 511 阅读 · 0 评论 -
pl/sql编程----变量的定义与使用
在编写pl/sql块时,可以定义变量和常量;在pl/sql程序中包括有:1、标量类型(scalar)2、复合类型(composite)3、参照类型(reference)4、lob(large object)标量(scalar)-常用类型定义语法:定义一个字符串:v_name varchar2(20);定义一个小数:v_sal number(6,2);定义一个小数并给一个初始值:...原创 2019-04-07 19:49:49 · 2009 阅读 · 0 评论 -
pl/sql编程----包
包:包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。使用create package 命令来创建包规范实例:create or replace package sp_package is --创建一个名为sp_package的包 procedure sp_pro(sqdm varchar2,newmim number); function sp_fun(spdm varc...原创 2019-04-05 16:04:29 · 312 阅读 · 0 评论 -
pl/sql编程--函数
函数:函数用于返回特定的数据,当建立函数时,在函数头部必须包含return子句,而在函数体内必须包含return语句返回的数据使用create function建立函数:实例:--输入员工编码,返回该人员的年薪;create or replace function sp_fun(spdm varchar2) return number is nianx number(7,2);b...原创 2019-04-05 15:21:41 · 272 阅读 · 0 评论 -
pl/sql编程---存储过程
过程:过程用于执行特定的操作,当建立过程时,既可以指定输入参数(in),也可以指定输出参数(out),通过在过程中使用输入参数,可以将数据传递到执行部分;通过使用输出参数,可以将执行部分的数据传递到应用环境;使用create procedure 在创建过程。实例:编写一个过程,输入姓名,新密码,来修改人员的密码:create or replace procedure sp_pro(sqd...原创 2019-04-05 14:59:28 · 310 阅读 · 0 评论 -
PL/SQL编程----基础
pl/sql:pl/sql是oracle在标准SQL上的扩展,它不仅允许嵌入SQL语句,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误;使用pl/sql可以提高应用程序的运行性能;模块化的设计思想(分页的过程,转账的过程,订单的过程…);减少网络传输量;提高安全性;但是pl/sql的移植性不好;比如从oracle换到db2,过程什么的都需要重新写;开发工...原创 2019-04-04 15:46:04 · 368 阅读 · 0 评论