dATA数据库.创建函数.pdf
文本预览下载声明
第七章 函数
东软IT人才实训中心
7 Mar. 2008Copyright 2008 By Neusoft Group. All rights reserved
© Neusoft Confidential
目标:
本章旨在向学员介绍函数的应用,通 学时:1学时
过本课的学习,学员应该掌握如下知
识: 教学方法:讲授ppt
1) 了解函数的用途 +上机练习+点评
2 )创建存储函数
3 )调用函数
4 )删除函数
5 )了解过程和函数之间的区别
3 Sept. 2008
Confidential
函数的介绍
• 是命名的 PL/SQL 块
• 能够返回值
• 存储在数据库中
• 能够作为表达式的一部分被调用
3 Sept. 2008
Confidential
函数的语法
CREATE [OR REPLACE] FUNCTION function_name
[(parameter1 [mode1] datatype1,
parameter2 [mode2] datatype2,
. . .)]
RETURN datatype
IS|AS
PL/SQL Block;
• PL/SQL 块必须至少有一个RETURN语句
3 Sept. 2008
Confidential
用SQL*Plus 创建函数
1. 在一个编辑器中输入CREATE FUNCTION语句的文本并且将它
保存为一个SQL 脚本文件
2. 运行存储源代码的脚本文件并且编译函数
3. 用SHOW ERRORS查看编译错误
4. 编译成功后就可以调用该函数
3 Sept. 2008
Confidential
创建函数示例
get_sal.sql
CREATE OR REPLACE FUNCTION get_sal
(p_id IN emp.empno%TYPE)
RETURN NUMBER
IS
v_sal emp.sal%TYPE :=0;
BEGIN
SELECT sal
INTO v_sal
FROM emp
WHERE empno = p_id;
RETURN v_sal;
END get_sal;
/
3 Sept. 2008
Confidential
执行函数
呼叫环境 get_sal函数
7369 7369 p_id
RETURN v_sal
@e:\get_sal.sql (装载并运行get_sal.sql文件 ,创建函数)
VARIABLE g_sal NUMBER
EXEC :g_sal := get_sal(7369)
Print g_sal
3 Sept. 2008
Confidential
执行函数(续)
DECLARE
v_empno emp.empno%type := 7369;
v_sal emp.sal%type := 0;
BEGIN
v_sal := get_sal(v_empno);
dbms_output.put_line(薪水是 ||v_sal);
END;
3 Sept. 2008
Con
显示全部