网站首页 > 技术文章 正文
--存储过程只编译一次,运行时不编译直接运行,效率较高
--传入部门编号,输出部门编号和名称
create or replace procedure dept_deptinfo_proc
--参数名称不能和列名一样,参数类型不能有长度
(deptnoin in dept.deptno%type , deptinfo out varchar2)
--as和is在此处无区别
as
temp varchar2(50);
begin
select '部门编号:' || deptno || ', 部门名称: ' || dname
into temp from dept
where deptno = deptnoin;
deptinfo := temp;
end dept_deptinfo_proc;
--针对员工表,写一个存储过程,输入参数为部门编号,输出部门员工的数量
create or replace procedure myemp_count_proc
(deptnoin in myemp.deptno%type,sdfs in varchar2)
as
temp number;
begin
select count(*) into temp
from myemp
where deptno = deptnoin;
dbms_output.put_line(sdfs || '部门编号:' || deptnoin || ',员工数量:' || temp);
end ;
--游标是一种数据集合对象
--使用游标输出某部门的员工姓名和工资
--游标必须用is不能使用as
create or replace procedure myemp_empinfo_proc
(deptnoin in myemp.deptno%type)
as
cursor empinfo is select * from myemp;
begin
for emp_num in empinfo loop
--每次循环,emp_num表示empinfo中的每条数据
if emp_num.deptno = deptnoin then
dbms_output.put_line('员工姓名:'|| emp_num.ename || ',工资:'|| emp_num.sal);
end if;
end loop;
end;
--调用存储过程方式之一
call myemp_count_proc(30,'hello');
call myemp_empinfo_proc(40);
--调用存储过程方式之二
--有输出参数时使用
declare
deptno dept.deptno%type;
deptinfo varchar2(50);
begin
deptno := 20;
deptinfo := '';
dept_deptinfo_proc(deptno,deptinfo);
dbms_output.put_line(deptinfo);
end;
猜你喜欢
- 2024-11-08 oracle 结束被锁的包或存储过程 oracle解除用户锁定语句
- 2024-11-08 c#.Net.NetCore面试(四十六)SQL常用存储过程(一看就懂篇)
- 2024-11-08 Oracle 内核解密之存储篇 简述oracle内存结构的主要组成部分
- 2024-11-08 Oracle探究_JAVA存储过程_开发指引《中》
- 2024-11-08 Oracle存储过程编程:流程控制选择结构和循环结构总结
- 2024-11-08 Oracle探究_JAVA存储过程_开发指引《上》
- 2024-11-08 Oracle如何快速导出导入存储过程、函数、package等部分元数据
- 2024-11-08 数据库oracle存储过程包和主体的创建
- 2024-11-08 Oracle 存储过程、包、包体如何创建?
- 2024-11-08 【Oracle】Package 存储过程编写以及其他实用技术
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)