1 / 16
文档名称:

条件分支结构循环控制结构和存储过程--分页存储过程oracle.doc

格式:doc   大小:68KB   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

条件分支结构循环控制结构和存储过程--分页存储过程oracle.doc

上传人:zxwziyou9 2018/6/12 文件大小:68 KB

下载得到文件列表

条件分支结构循环控制结构和存储过程--分页存储过程oracle.doc

相关文档

文档介绍

文档介绍:条件分支结构、循环控制结构和存储过程--分页存储过程oracle
条件分支结构案例
1、编写一个过程,可以输入一个雇员姓名,如果该雇员的工资低于2000,就给该雇员工资增加10%。
/*
结构:
IF 条件 THEN
执行语句;
END IF;
*/
CREATE OR REPLACE PROCEDURE add_sal_prc(p_name IN VARCHAR2) IS
n_sal %TYPE;
BEGIN
SELECT sal INTO n_sal
FROM myemp WHERE ename = p_name;
IF n_sal < 2000 THEN
UPDATE myemp
SET sal = sal * (1 + )
WHERE ename = p_name;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
('未找到相关信息.');
END add_sal_prc;
/
2、编写一个过程,在myemp表中,如果某个雇员的工资低于2000,就给该雇员工资增加10%。
CREATE OR REPLACE PROCEDURE update_myemp_sal_prc IS
CURSOR c_test IS
SELECT * FROM myemp FOR UPDATE;
BEGIN
FOR var_data IN c_test LOOP
IF < 2000 THEN
UPDATE myemp
SET sal = sal *
WHERE CURRENT OF c_test;
END IF;
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND THEN
('未找到相关信息.');
END update_myemp_sal_prc;
/
3、编写一个过程,可以输入一个雇员姓名,如果该雇员的奖金不是0,就在原来的基础上增加100,如果奖金是0,就把该奖金设置为200;
/*
结构:
IF 条件 THEN
执行语句;
ELSE
执行语句;
END IF;
*/
CREATE OR REPLACE PROCEDURE m_prc(p_name IN VARCHAR2) IS
comm_tmp m%TYPE;
BEGIN
SELECT m, 0) comm
m_tmp
FROM myemp
WHERE ename = p_name;
m_tmp != 0 THEN
UPDATE myemp
m = comm + 100
WHERE ename = p_name;
ELSE
UPDATE myemp
m = 200
WHERE ename = p_name;
END IF;
END m_prc;
/
4、编写一个过程,在myemp表中,如果该雇员的奖金不是0,就在原来的基础上增加100,如果奖金是0,就把该奖金设置为200;
CREATE OR REPLACE PROCEDURE m_prc IS
CURSOR c_test IS
SELECT ename, sal,
m, 0) comm
FROM myemp FOR UPDATE;
BEGIN
FOR var_data IN c_test LOOP
IF m != 0 THEN
UPDATE myemp
m = comm + 100
WHERE CURRENT OF c_test;
ELSE
UPDATE myemp
m = 200
WHERE CURRENT OF c_test;
END IF;
END LOOP;
END m_prc;
/
5、编写一个过程,可以输入一个雇员编号,如果该雇员的职位是PRESIDENT就给他的工资增加1000,如果该雇员的职位是MANAGER就给他的工资的增加500,其它职位的雇员的工资增加200;
/*
结构:
IF 条件 THEN
执行语句;
ELSIF 条件 THEN
执行语句;
.
.
.
ELSE
执行语句;
END IF;
*/
CREATE OR REPLACE PROCEDURE modify_sal_prc(p_empno IN INTEGER) IS
v_job %TYPE;
BEGIN
SELECT job INTO v_job
FROM myemp
WHERE e