PL/SQL第二课(作业)
2008-08-15 09:08
134 查看
作业讲解
1.1、查询语句
SELECT b.first_name
FROM s_emp a,s_emp b
WHERE a.manager_id = b.id--manager_id作为外键,与 b 表里的id 连接
AND a.id = 5;
1.2、存储过程
CREATE OR REPLACE PROCKDURE proc_GetManager(
p_id IN s_emp.id%TYPE,
p_name OUT s_emp.first_name%TYPE
)
BEGIN
/*
SELECT first_name
FROM s_emp
WHERE manager_id = NULL;*/
SELECT b.first_name
INTO p_name
FROM s_emp a, s_emp b
WHERE a.manager_id = b.id
AND a.id = p_id;
END
1.3、调用传递
DECLARE
v_first_name s_emp.first_name%TYPE;
BEGIN
proc_GetManager(3,v_fisrt_name);
DBMS_OUTPUT.PUT_LINE('v_fisrt_name = '||v_first_name)
END
2.1、
SELECT a.id, a.first_name, a.salary
FROM s_emp a, s_dept b
WHERE a.dept_id = b.id
AND b.region_id = 2;
2.2、
CREATE OR REPLACE FUNCTION fun_getDept(
p_rid s_region.id%TYPE
RETURN s_dept.name%TYPE)
AS
v_dept s_dept.name%TYPE
CURSOR cur_emp IS
SELECT name
from s_emp a, s_dept b
where a. dept_id = b.id
and b.region_id = p_ id
ORDERby salary DESC;
BEGIN
OPEN cur_emp;
FETCH cur_emp INTO fun_getDept();
CLOSE cur_emp;
END
2.3
DECLARE
v_dept s_dept.name%TYPE;
begin
v_dept := fun_getDept(2);
DBMS_OUTPUT.PUT_LINE(v_dept);
end
1.1、查询语句
SELECT b.first_name
FROM s_emp a,s_emp b
WHERE a.manager_id = b.id--manager_id作为外键,与 b 表里的id 连接
AND a.id = 5;
1.2、存储过程
CREATE OR REPLACE PROCKDURE proc_GetManager(
p_id IN s_emp.id%TYPE,
p_name OUT s_emp.first_name%TYPE
)
BEGIN
/*
SELECT first_name
FROM s_emp
WHERE manager_id = NULL;*/
SELECT b.first_name
INTO p_name
FROM s_emp a, s_emp b
WHERE a.manager_id = b.id
AND a.id = p_id;
END
1.3、调用传递
DECLARE
v_first_name s_emp.first_name%TYPE;
BEGIN
proc_GetManager(3,v_fisrt_name);
DBMS_OUTPUT.PUT_LINE('v_fisrt_name = '||v_first_name)
END
2.1、
SELECT a.id, a.first_name, a.salary
FROM s_emp a, s_dept b
WHERE a.dept_id = b.id
AND b.region_id = 2;
2.2、
CREATE OR REPLACE FUNCTION fun_getDept(
p_rid s_region.id%TYPE
RETURN s_dept.name%TYPE)
AS
v_dept s_dept.name%TYPE
CURSOR cur_emp IS
SELECT name
from s_emp a, s_dept b
where a. dept_id = b.id
and b.region_id = p_ id
ORDERby salary DESC;
BEGIN
OPEN cur_emp;
FETCH cur_emp INTO fun_getDept();
CLOSE cur_emp;
END
2.3
DECLARE
v_dept s_dept.name%TYPE;
begin
v_dept := fun_getDept(2);
DBMS_OUTPUT.PUT_LINE(v_dept);
end
相关文章推荐
- Oracle:PL/SQL--流程控制——作业练习:向表中循环插入ID编号
- PL/SQL第二课(学习笔记)
- 自学PL/SQL 第二讲Writing Executable Statements
- 【安博培训笔记】Oracle5 使用 PL/SQL 作业20130911
- 关于Oracle 的定时执行作业问题(动态PL/SQL)
- 【雪野实训记录】Oracle数据库 T5作业——使用 PL/SQL
- PL/SQL 连接Oracle10g数据库,ORA-12514;TNS:监听程序当前无法识别连接描述中请求的服务
- 转载-不安装oracle客户端也可以使用pl/sql developer
- 64位青蛙Toad下载 ,终于不用改那个pl/sql develop了
- PL/SQL Developer 工具连接ORALCE数据库的方法
- ORACLE(PL/SQL) 根据字符分割(SPLIT)字符串返回数组
- Oracle基础(四)pl/sql
- PL/SQL精明的调用栈分析
- Oracle EBS—PL/SQL环境初始化之 fnd_global.apps_initialize
- ORACLE PL/SQL编程之六:把过程与函数说透
- 小布老师-PL_SQL(第四讲)
- 小布老师-PL_SQL(第五讲)
- 配置PL/SQL连接ORACLEn数据库
- 小布老师-PL_SQL(第八讲)
- PL/SQL developer的安装使用与配置(整理)