• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

嘻哈小王

欢迎来到我的乐园
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

ORACLE自定义函数

CREATE [OR REPLACE] FUNCTION 函数名称(arg1 [{IN | OUT | IN OUT}] TYPE1 [DEFAULT VALUE1], [arg2 [{IN | OUT |IN OUT }] TYPE2 [DEFAULT VALUE1]],……[argn [ { IN | OUT | IN OUT } ] TYPE [DEFAULT VALUE] ]) [AUTHID DEFINER | CURRENT_USER ] RETURN return_type
IS|AS
<类型.变量的声明部分>
BEGIN
<执行部分> RETURN expression
EXCEPTION 异常部分的处理
END 函数名称;

默认形参模式为IN ,只能读,不能写。
OUT、IN OUT可读可写。

示例:
--获取某部门的工资总和
CREATE OR REPLACE FUNCTION get_salary(Dept_no NUMBER,Emp_count OUT NUMBER) RETURN NUMBER
IS
V_sum NUMBER;
BEGIN
SELECT SUM(SALARY), count(*) INTO V_sum, emp_count
FROM EMPLOYEES
WHERE DEPARTMENT_ID=dept_no;
RETURN v_sum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('你需要的数据不存在!');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM);
END get_salary;

posted on 2024-10-29 11:35  琅琊小王  阅读(225)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3