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

--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. PHP_Code_Challenge 1~30

    1. 1wMDEyY2U2YTY0M2NgMTEyZDQyMjAzNWczYjZgMWI4NTt3YWxmY= <?php error_reporting(0); require __DIR__ ...

  2. 生命周期(初始化、销毁方法、BeanPostProcessor后处理Bean)

    1.初始化和销毁 在目标方法执行前后进行初始化或销毁 (1)在Service方法的实现类里面创建初始化方法和销毁方法: public class StudentServiceImpl implemen ...

  3. org.springframework.beans.factory.BeanCurrentlyInCreationException

    昨天下午的时候,给公司的项目打了个版,发现一直报502错误了,最后在服务器日志上看了一下异常信息,发现报了以下异常信息,导致项目启动就报错了(pc:该项目在我电脑本地启动不报错,之前也没报错). 错误 ...

  4. 每日爬虫JS小逆之5分钟旅游网MD5一锅端

    来吧骚年,每天花5分钟锻炼一下自己的JS调试也是极好的,对后期调试滑块验证码还原.拖动很有帮助,坚持下去,我们能赢.建议亲自试试哦,如果对大家有帮助的话不妨关注一下知识图谱与大数据公众号,当然不关注也 ...

  5. java调用matlab生成exe文件

    一.Matlab生成Java Package 1.在MATLAB的Command Window输入deploytool命令,选择Library Compiler. 2.在弹出的窗口选择Java Pac ...

  6. python 报错 wxPyDeprecationWarning: Using deprecated class PySimpleApp.

    如题:python 报错 提示为 : wxPyDeprecationWarning: Using deprecated class PySimpleApp. 解决:将 wx.PySimpleApp() ...

  7. list_for_eacy_entry图解

    .

  8. 部署项目到服务器 & 搭建博客网站

    搭建博客网站 作为名程序员,或者是网络编程爱好者,拥有一个自己的博客网站再好不过,本篇文章手把手教你部署自己的网站

  9. MySQL 查询字段时,区分大小写

    设置排序规则: 区分大小写的查询: mysql> select * from user; +----+----------+-----------+------+------+ | id | u ...

  10. WSL2 bug

    错误现象 Stdout: Stderr: 2020/05/27 20:01:37 resolving /mnt/host/c/Program Files/Docker/Docker/resources ...