对于存储过程已经有过一周的学习时间了,但是之学到一些皮毛,争取根据基础,熟练后能进行深入。

--1、存储过程创建存储过程的语法:
CREATE [
OR
REPLACE ]
PROCEDURE procedure_name [
(
parameter_list
) ] {IS | AS} [ local_declarations ]
BEGIN
executable_statements [
EXCEPTION
exception_handlers ]
END [ procedure_name ];
--其中:procedure_name是过程的名称。 parameter_list是参数列表。 local_declarations是局部声明。 executable_statements是可执行语句。 exception_handlers是异常处理程序。
--示例1: 演示创建过程(参数列表中为IN参数赋予一个默认值,不能为OUT、IN OUT参数赋予默认值)
create or replace procedure find_emp
(
emp_no in number := 7900
)
as
empname varchar2(20);
begin
select
ename
into
empname
from
emp
where
empno = emp_no
; dbms_output.put_line('雇员姓名是 '
|| empname);
exception
when no_data_found then
dbms_output.put_line('雇员编号未找到');
end find_emp;
--调用过程:EXECUTE procudure_name(parameters_list);
--也可以在过程里面调用,直接写上procudure_name而不必写EXECUTE。
--示例2:演示创建带OUT参数的过程
create or replace procedure test
(
value1 varchar2
, value2 out number
)
is
identity number;
begin
select
sal
into
identity
from
emp
where
empno = value1
; if identity < 2000 then
value2 := 1000;
else
value2 := 500;
end if;
end;
--调用带OUT参数的过程:
declare
value2 number;
begin
test('7900', value2);
dbms_output.put_line(value2);
end;
--示例3:演示创建带IN OUT参数的过程
create or replace procedure swap
(
p1 in out number
, p2 in out number
)
is
v_temp number;
begin
v_temp := p1;
p1 := p2;
p2 := v_temp;
end;
--调用带IN OUT参数的过程:
declare
num1 number := 100;
num2 number := 200;
begin
swap(num1, num2);
dbms_output.put_line('num1= '
|| num1);
dbms_output.p ut_line('num2= '
|| num2);
end;
--示例4:将过程的执行权限授予其他用户
GRANT EXECUTE ON find_emp TO scott;
GRANT EXECUTE ON swap TO PUBLIC;
--将find_emp过程的执行权限授予给用户scott,将执行swap过程的权限授予所有数据库用户。
--删除过程语法:
DROP PROCEDURE procudure_name;

oracle 存储过程深入学习与应用的更多相关文章

  1. Oracle存储过程学习使用

    存储过程创建语法: create or replace procedure 存储过程名(param1 in type,param2 out type) as 变量1 类型(值范围); 变量2 类型(值 ...

  2. ORACLE存储过程学习

    存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE ...

  3. Oracle 存储过程学习

    转自:http://blog.chinaunix.net/uid-20495387-id-174394.html http://www.cnblogs.com/rootq/articles/11000 ...

  4. Oracle存储过程学习备忘

    之前的项目使用存储过程很少,但在实际的项目中,存储过程的使用是必不可少的. 存储过程是一组为了完成特定功能的SQL 语句 集,经编译后存储在数据库中:存储过程创建后,一次编译在程序中可以多次调用,对安 ...

  5. Oracle 存储过程学习笔记

    1.存储过程简单实例 CREATE OR REPLACE PROCEDURE 存储过程名称 (参数in,参数out) AS -- 变量声明,每个声明用分号结束.可以在声明的同时初始化 name ); ...

  6. 用java调用oracle存储过程总结(转)

    //1.call+包名+存储过程名(传入.传出值用?) String str="{call SMSBUSINESS.deleteZhZMember(?,?,?)}"; //2.建立 ...

  7. oracle 存储过程 动态sql语句

    一.在oracle项目开发中越到问题: 在利用ODP向oracle中插入数据时,如果这样写:   insert into clobTable (id, story) values(1,'....'); ...

  8. 用java调用oracle存储过程总结

    以前一直没有动存储过程是用来干嘛的,后来请教朋友才换为自己的理解方式,用自己通俗的语言来说,就是把sql语句换为一个过程,也可以说是一个方法,每次直接给参数调用就好,使用存储过程查询速度快,系统只编译 ...

  9. Oracle教程之学习笔记

    Oracle教程之学习笔记... ----------------------------------- Oracle教程:---学习笔记: ============================= ...

随机推荐

  1. 聊聊经典数据结构HashMap,逐行分析每一个关键点

    本文基于JDK-8u261源码分析 本文原创首发于 奇客时间(qiketime) 1 简介 HashMap是一个使用非常频繁的键值对形式的工具类,其使用起来十分方便.但是需要注意的是,HashMap不 ...

  2. 学习Maven有感

    1.maven的由来 maven是一款服务于java平台的自动化构建工具 构建定义:把动态的Web工程经过编译得到的编译结果部署到服务器上的整个过程. 编译:java源文件[.java]->编译 ...

  3. Python-用装饰器实现递归剪枝

    求一个共有10个台阶的楼梯,从下走到上面,一次只能迈出1~3个台阶,并且不能后退,有多少中方法? 上台阶问题逻辑整理: 每次迈出都是 1~3 个台阶,剩下就是 7~9 个台阶 如果迈出1个台阶,需要求 ...

  4. 前端gitlab-ci.yml 入门

    说起来使用gitlab也有大半年了,每天都在跑pipeline,但是却没有好好研究过这个叫gitlab-ci.yml的文件.这次借着发布流程升级的机会,好好入门了一下. 主要分以下内容: stages ...

  5. 069 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求

    069 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求 本文知识点:综合案例-数组移位-案例需求 说明:因为时间紧张,本人写博客 ...

  6. NMOS和PMOS区别

    在很多电路途中会出现NMOS和PMOS管,因为不是中文那么直接,都说管压降之类的,但其实它的导通很重要以及区别,关系到你点亮电子元件> 参考: 1.https://blog.csdn.net/l ...

  7. linux下的echo

    echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串.linux的echo命令,在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的,因此有必要了解下 ...

  8. java安全编码指南之:lock和同步的正确使用

    目录 简介 使用private final object来作为lock对象 不要synchronize可被重用的对象 不要sync Object.getClass() 不要sync高级并发对象 不要使 ...

  9. 手把手教你AspNetCore WebApi:认证与授权

    前言 这几天小明又有烦恼了,之前给小红的接口没有做认证授权,直接裸奔在线上,被马老板发现后狠狠的骂了一顿,赶紧让小明把授权加上.赶紧Baidu一下,发现大家都在用JWT认证授权,这个倒是挺适合自己的. ...

  10. shell-逻辑操作符讲解与文件条件测试多范例多生产案例

    1. 逻辑操作符 在书写测试表达式时,可以使用表1.1中的逻辑操作符实现复杂的条件测试  表1.1逻辑连接符 提示: ! 中文意思是反:与一个逻辑值相反的逻辑值 -a 中文意思是与(and & ...