手机版

Oracle常用代码总结(6)

发布时间:2021-06-05   来源:未知    
字号:

java开发中的总结 大家可以看看哦

循环:
declare
n number:=1;
count1 number:=2;
begin
loop
n:=n*count1;
count1:=count1+1;
if count1>10 then
exit;
end if;
end loop;
dbms_output.put_line(to_char(n));
end;
when实现循环:
declare
n number:=1;
count1 number:=2;
begin
loop
n:=n*count1;
count1:=count1+1;
exit
when count1>10;
end loop;
dbms_output.put_line('结果:'||to_char(n));
end;
while实现循环:
declare
n number:=1;
count1 number:=2;
begin
while count1<=10
loop
n:=n*count1;
count1:=count1+1;
end loop;
dbms_output.put_line('结果:'||to_char(n));
end;
for循环:
declare
n number:=1;
count1 number;
begin
for count1 in 2..10
loop
n:=n*count1;
end loop;
dbms_output.put_line('结果:'||to_char(n));
end;


--自定义函数--
--功能:实现以部门号查询平均工资--
--第一步:编写自定义函数:
create or replace function avgersal(v_dept_sal in
number) return number is
Result number;
begin
select avg(salary) into Result from guyuan where

department_id = v_dept_sal group by department_id;
return (Result);
end avgersal;
--第二步:调用函数:
declare
v_dept_id number(5):=30;
sal number(7,2);
begin
sal := avgersal(v_dept_id);
dbms_output.put_line('部门30的人员平均工资:'||sal);
end;

查询某人的记录:
declare
c_tax_rate number(3,2):=0.03;
--用户名
v_name varchar2(10);
v_sal number(7,2);
v_tax_sal number(7,2);
begin
--执行
select fast_name,salary into v_name,v_sal from guyuan

where employee_id = 1005;
--计算所得税
v_tax_sal:=v_sal*(c_tax_rate);
dbms_output.put_line('姓名 '||v_name||' 工资 '||v_sal||' 交税 '||v_tax_sal);
end;


PL/SQL创建存储过程
创建过程:

create table mytest(name varchar2(30),password varchar(30));
create or replace procedure sp_pro1 is
begin
insert into procedures values (2,'验证过程','服务器');
end;(or replace表示替换原来的过程)

显示错误:
show error;

调用过程:
exec sp_pro1;
call sp_pro1;

删除过程:
create or replace procedure sp_pro2 is
begin
--执行部分
delete from procedures where pro_id='2';
end;

含有异常处理的存储过程:
declare
--定义变量
v_name varchar2(30);
v_address varchar2(30);
begin
--执行部分
select pro_name,pro_address into v_name,v_address from procedures where pro_id=2;
--在控制台显示用户名
dbms_output.put_line('存储过程名称:'||v_name ||'存在位置:'||v_address);
--异常处理
exception
when no_data_found then
dbms_output.put_line('编号不存在。');
end;

--users表的查找存储过程
create or replace procedure users_pro(uid in number,uname out varchar2,uage out n
umber) is
begin
select name,age into uname,uage from users where id = uid;
end;
--调用users_pro存储过程--
declare
user_id number;
user_name va

Oracle常用代码总结(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)