PL/SQL 存储过程
无参数的存储过程:
create or replace procedure out_time
is
begin
dbms_output.put_line(to_char(sysdate,'yyyy-mm-dd'));
end;
/
调用: exe
无参数的存储过程:
create or replace procedure out_time
is
begin
dbms_output.put_line(to_char(sysdate,'yyyy-mm-dd'));
end;
/
调用: exec out_time;
--------------------------------------------------------------
带有in参数的过程:
create or replace procedure add_employee
(
eno in number,
name in varchar2,--注意,定义参数的时候不能指定大小
sal in number
)
is
begin
insert into emp(empno,ename,sal) values(eno,name,sal);
end;
/
调用:exec add_employee(5569,'lixin',5589);
--------------------------------------------------------------
带有out 参数的过程:
create or replace procedure query_employee
(
eno in number,
name out varchar2,
salary out number
)
is
begin
select ename, sal into name, salary from emp where empno = eno;
end;
/
调用:
SQL> var name varchar2(20);
SQL> var salary number;
SQL> exec query_employee(7788,:name,:salary);
PL/SQL procedure successfully completed
name
---------
SCOTT
salary
---------
3000
--------------------------------------------------------------
带有in out参数的过程:
create or replace procedure pro_in_out
(
num1 in out number,
num2 in out number
)
is
v1 number;
v2 number;
begin
v1 := num1 / num2;
v2 := mod(num1,num2);
num1 := v1;
num2 := v2;
end;
/
调用:
SQL> var n1 number;
SQL> var n2 number;
SQL> exec :n1 := 100;
SQL> exec :n2 := 30;
SQL> exec pro_in_out(:n1, :n2); --不能直接传值,必须传变量,因为是in out类型参数
PL/SQL procedure successfully completed
n1
---------
3.33333333333333
n2
---------
10
传递参数时可以根据位置传递,也可以根据名称传递:
exec add_employee(123,name=>'lixin',sal=>88564);
查看过程源码:
select text from user_source where name = 'ADD_EMPLOYEE';
删除过程:
drop procedure add_employee;
PL/SQL 存储过程相关推荐
- PL/SQL存储过程
目录 PL/SQL存储过程 1.语法 2.实例 3.调用存储过程 4.删除存储过程和函数 5.存储过程与函数的比较 PL/SQL存储过程 存储过程是被命名的 PL/SQL 块,存储于数据库中,是数据库 ...
- Oracle PL/SQL 存储过程
Oracle PL/SQL 存储过程 Oracle 简介: 是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle数据库系统是目前世界上流行的关系数据库管理系 ...
- pl/sql存储过程写法
过程使用CREATE OR REPLACE PROCEDURE语句创建,使用CREATE OR REPLACE PROCEDURE语句简化语法如下: [(parameter_name [IN | OU ...
- Oracle PL/SQL存储过程对象类型Object type详解 create type obj_type as object, create table tab_name of obj_type
原 oracle 对象类型 object type 置顶 2011年06月13日 18:00:00 oypj2010 阅读数:3453 /* 对象类型属于用户自定义的一种复合类型,它封装了数据结构和拥 ...
- oracle学习-PL SQL 存储过程中循环
PL SPL 提供了3中不同类型的循环结构 -- 实例:索引 loop_counter从1开始,到10 结束,循环共执行10次 FOR loop_counter IN 1 .. 10 LOOP...可 ...
- Oracle笔记 十、PL/SQL存储过程
--create or replace 创建或替换,如果存在就替换,不存在就创建 create or replace procedure p is cursor c is select * from ...
- oracle的pl/sql存储过程调用java soure来判断文件夹下某个文件是否存在
oracle版本是9i 首先创建java soure create or replace and compile java source named existsfile as import java ...
- PL/SQL 存储过程学习2 条件语句
if...条件...then end if; ------------------ if...条件...then 语句1 else 语句2 end if; ----------------- if.. ...
- Oracle PL/SQL 存储过程
PROCEDURE name [(parameter[,parameter,...])] IS [local declarations] BEGIN execute statements [EXCEP ...
最新文章
- java菱形有几种状态_java程序,打出一个菱形,有什么规律吗
- boost::program_options模块实现使用命令行和配置文件的测试程序
- linux计划任务执行bin文件,Linux任务计划和周期性任务执行
- keepalived(8)——http、tcp检测
- 第三十四天 how can I 坚持
- 重构javascript_JavaScript代码清理:如何重构以使用类
- 7 补充业务_哪些情况可以补充申报?金关账册报核要申报哪些数据?
- qq刷屏代码可复制_QQ小程序「神奇字体」从注册到发布
- 欺骗的艺术.资料搜集自互联网.
- Java自动化测试——打开浏览器
- 51单片机超声波测距和报警+Proteus仿真
- 三极管饱和状态下增益
- 自我觉察的心理测试软件,看见自己|自我觉察的11个妙招
- roundcube webmail登陆失败怎么回事_智慧团建登陆官网入口手机
- python爬虫入门(5)----- 阿里巴巴供应商爬虫
- 如何查看当前IP地址
- SSM洗衣店管理系统
- 学堂在线《工程伦理》第八章课后习题及答案(仅供参考)
- 邮箱输入注册测试用例
- java计算机毕业设计中国民航酒店分销系统源码+系统+lw+数据库+调试运行
热门文章
- MongoDB服务无法注册
- python mysql实例_Python 操作MySQL详解及实例
- java无权图求最短路径_求有权图和无权图的最短路径
- java嵌套对象,java – 从嵌套流中收集一组对象
- linux的usermod命令参数,linux usermod命令参数及用法详解
- 汇编语言调用c语言ads,ADS1.2 在汇编代码中调用C函数
- php mcrypt取消,php – Mcrypt弃用后如何解密?
- CSS中盒子模型、嵌套盒子中垂直外边距塌陷问题解决方案、标准盒模型、怪异盒模型
- webview 调用java_Android中在WebView里实现Javascript调用Java类的方法
- SaltStack 第一板块入门介绍 [1]