惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
T
The Blog of Author Tim Ferriss
B
Blog
L
LangChain Blog
Y
Y Combinator Blog
美团技术团队
博客园 - 三生石上(FineUI控件)
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
G
Google Developers Blog
量子位
博客园_首页
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
C
Check Point Blog
D
Docker
小众软件
小众软件
The Cloudflare Blog
大猫的无限游戏
大猫的无限游戏
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 聂微东
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
Google DeepMind News
Google DeepMind News
IT之家
IT之家

博客园 - 系咪噶

[JAVA基础]流文件读写文件编码转换 最近转战东软 apache 新建虚拟机 +Zend Framework建立 Apache + php 配置 php基础教程之PHP面向对象技术(全面讲解) 今日无事,将一同志之毕设完结 SQL查询基本练习1:(作业) SQL Server 高级应用(周六讲座) 面向对象之CoreJava(第一课) CVS的使用(一课时) PL/SQL第三课(学习笔记) PL/SQL第二课(学习笔记) PL/SQL第一课(学习笔记) Oracle第五课(学习笔记) Oracle第四课(学习笔记) 全步骤安装mysql SQL Server 存储过程的分页 无法连接到Visual Studio 的Localhost Web服务器 Oracle第三课(学习中笔记)
PL/SQL第二课(作业)
系咪噶 · 2008-08-15 · via 博客园 - 系咪噶

作业讲解

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