oracle pl/sql之oracle存储过程

存储过程是一种命名pl/sql程序块,它可以被赋予参数,存储在数据库中,可以被用户调用。由于存储过程是已编译好的代码,所以在调用的时候不必再次进行编译,从而提高了程序的运行效率。另外使用存储过程可以实现程序的模块化设计

存储过程的语法:

create [or replace] procedure procedure_name (parameter [{in| out}]  data_type,

parameter [{in| out}]  data_type....)

{is|as}

begin

executable section;

exception

exception handlers;

end;

程序演示:

     写一个存储过程用来向emp表中插入一条数据

create of replace procedure my_procedure3 is
begin
insert into emp(empno,ename) values(9527,‘星爷之唐伯虎‘);
end;

控制台中调用存储过程:

exec 过程名(参数);

或者写一个plsql语句块

begin

过程名(参数);

end;

参数:

oracle 有三种参数模式in out和 in out

in 表示用户的输入参数

程序演示:

create or replace procedure my_procedure(in_no in number,in_name in varchar2) is
begin
insert into emp(empno,ename) values(in_no,in_name);
end;

out参数表示用户的输出

程序演示:

create or replace procedure my_pro(in_no in number,out_name out varchar2,out_sal out number) is
begin
select ename,sal into out_name,out_sal from emp where empno=in_no;
end;

在sqlplus中想得到带有输出的过程执行完后的值

方法1:写匿名块

declare
v_name emp.ename%type;
v_sal emp.sal%type;
begin
my_pro(7369,v_name,v_sal);
dbms_output.put_line( v_name);
dbms_output.put_line( v_sal);
end;

 注意:

in out同时具有in和out的特性,在过程中可以读取和写入类型参数

时间: 2024-07-28 16:53:51

oracle pl/sql之oracle存储过程的相关文章

二十一、oracle pl/sql分类一 存储过程

存储过程用于执行特定的操作,当建立存储过程时,既可以指定输入参数(in),也可以指定输出参数(out),通过在过程中使用输入参数,可以将数据传递到执行部分:通过使用输出参数,可以将执行部分的数据传递到应用环境.在sqlplus中可以使用create procedure命令来建立过程.实例如下:1.请考虑编写一个存储过程,可以输入雇员名,新工资,用来修改雇员的工资 --根据雇员名去修改工资CREATE PROCEDURE sp_update(uname VARCHAR2, newsal NUMBE

oracle pl/sql之oracle函数

建函数的语法 create or replace function 函数名(参数 输入还是输出 参数类型) return 数据类型 is 返回值 返回值的数据类型 begin 函数要做的操作 end; sql语句演示: create or replace function my_fun(in_no in number) is out_name varchar2(64); begin select ename into out_name from emp where emp.empno=in_no

在PL/SQL中调用存储过程--oracle

在oracle10中写好了存储过程,代码如下: CREATE OR REPLACE Procedure Proc_Insert ( sName in varchar2, sAge in int, sExeTime in varchar2 ) is begin Insert into T_TEST(C_ID, C_NAME, C_AGE, C_INTIME, C_EXETIME) values(T_TEST_CID.nextval,sName,sAge, sysdate, to_date(sExe

Oracle实践--PL/SQL基础之存储过程

PL/SQL基础之存储过程 存储过程:过程是用于完成特定任务的子程序(代码的集合) /* 子程序的优点:1.模块化,将程序分解为逻辑模块: 2.可重用性,可以被任意数目的程序调用: 3,可维护性,简化维护操作: 4.安全性:通过设置权限,使数据更安全 */ --存储过程1,打印HelloWorld create or replace procedure my_pro is --用于声明一些变量 v_string varchar2(20) :='helloworld!'; begin dbms_o

Java,PL/SQL调用 ORACLE存储函数以及存储过程

1.1.1.?准备工作·?创建表? ? --- 创建测试用表 school? ?? ???CREATE TABLE school(? ?? ?? ?? ?ID number,? ?--学校id? ?? ?? ?? ?NAME VARCHAR2(30)? ? ---学校名? ?? ???);? ?? ???--- 添加数据? ?? ???INSERT into school values(1,'北京大学');? ?? ???INSERT into school values(2,'南京大学');?

ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)

原文:ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) ORACLE PL/SQL编程之六: 把过程与函数说透(穷追猛打,把根儿都拔起!)   继上篇:ORACLE PL/SQL编程之八:把触发器说透 得到了大家的强力支持,感谢.接下来再下猛药,介绍下一篇,大家一定要支持与推荐呀~!我也才有动力写后面的.   本篇主要内容如下: 6.1 引言 6.2 创建函数 6.3 存储过程 6.3.1 创建过程 6.3.2 调用存储过程 6.3.3 AUTHID 6.3.4 

[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)

原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [顶]ORACLE PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日之功) 继上四篇:ORACLE PL/SQL编程之八:把触发器说透                ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)                [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]

【强烈强烈推荐】《ORACLE PL/SQL编程详解》全原创(共八篇)--系列文章导航

原文:[强烈强烈推荐]<ORACLE PL/SQL编程详解>全原创(共八篇)--系列文章导航 <ORACLE PL/SQL编程详解> 系列文章目录导航 ——通过知识共享树立个人品牌. 本是成书的,但后来做其他事了,就无偿的贡献出来,被读者夸其目前为止最“实在.经典”的写ORACLE PL/SQL编程的文章-! 觉得对你有帮助,请留言与猛点推荐,谢谢. [推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下) 本篇主要内容如下:第一章 PL/S

[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)

原文:[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!) [强烈推荐]ORACLE PL/SQL编程详解之七: 程序包的创建与应用(聪明在于学习,天才在于积累!) ——通过知识共享树立个人品牌.   继上七篇:            [推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)            [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之