1、存储过程示例:为指定的职工在原工资的基础上长10%的工资

SQL> create or replace procedure raiseSalary(empid in number)aspSal emp.sal%type;beginselect sal into pSal from emp where empno=empid;update emp set sal = sal*1.1 where empno=empid;dbms_output.put_line('员工号:' || empid || '涨工资前' || psal || '涨工资后' || psal*1.1);end;/Procedure createdSQL> set serveroutput onSQL> exec raisesalary(7369);

员工号:7369涨工资前

800涨工资后880

PL/SQL procedure successfully completed

2、存储函数示例:查询某职工的年收入。

SQL> /**   查询某职工的总收入   */

create or replace function queryEmpSalary(empid in number)return numberaspSal number; --定义变量保存员工的工资
 pComm number; --定义变量保存员工的奖金beginselect sal,comm into psal,pcomm from emp where empno = empid;return psal*12+nvl(pcomm,0);end;/Function createdSQL> declarev_sal number;beginv_sal:=queryEmpSalary(7934);dbms_output.put_line('salary is:'|| v_sal);end;/salary is:15600PL/SQL procedure successfully completedSQL> begindbms_output.put_line('salary is:'|| queryEmpSalary(7934));end;/salary is:15600PL/SQL procedure successfully completed

3、创建触发器示例1:限制非工作时间向数据库插入数据

SQL> create or replacetrigger securityEmpbefore insert on empdeclarebeginif to_char(sysdate,'day')in('星期四','星期六','星期日')or to_number(to_char(sysdate,'hh24'))not between 8 and 18 then raise_application_error(-20001,'不能在非工作时间插入数据。');end if;end;/Trigger created

4、创建触发器示例2:确认数据(检查emp表中sal 的修改值不低于原值)

SQL> create or replace trigger checkSalbefore update of sal on empfor each rowdeclarebeginif :new.sal<:old.sal thenraise_application_error(-20001,'更新后的薪水比更新前小');end if;end;/Trigger created

转载于:https://www.cnblogs.com/smart9595/p/3818202.html

存储过程和存储函数和触发器示例相关推荐

  1. oracle 查看函数被哪些触发器引用_oracle如何查看存储过程,存储函数,触发器的具体内容...

    (1)set serveroutput on 实现plsql developer 打印输出 (2)如何查看存储过程,存储函数,触发器的内容 查 user_sources表 eg:查询GET_DEPT_ ...

  2. 【MySQL数据库设计与应用(六)】存储程序(存储过程,存储函数,触发器,事件)

    文章目录 1 存储程序介绍 1.1 什么是存储程序 1.2 存储例程 1.3 触发器 1.4 事件 2 创建和调用存储过程 2.1 创建和调用存储过程 2.2 存储过程的参数模式 2.3 存储过程返回 ...

  3. Oralce数据库之存储过程、存储函数、触发器和数据字典

    Oracle数据库总结 Oracle数据库之集合运算 Oracle数据库之数据处理 Oracle数据库之建表和管理表 Oracle数据库之对象视图.索引.序列.同义词 一.存储过程和存储函数 1.概念 ...

  4. MySQL学习笔记 05、触发器、存储过程、存储函数、定时任务

    文章目录 前言 一.触发器 提前准备测试表 1.1.创建触发器 1.2.删除触发器 二.存储过程 2.1.认识变量 2.1.1.系统变量 2.1.2.用户变量 2.2.存储过程创建 2.3.删除存储过 ...

  5. Oracle-存储过程、存储函数、触发器

    Oracle-存储过程.存储函数.触发器 目录 文章目录 1.存储过程 1.1.概念 1.2.创建语法 1.3.实例 2.存储函数 3.out类型参数 4.存储过程与存储函数直接的区别 3.触发器 * ...

  6. oracle as 不可以省略,Oracle:存储过程,存储函数

    什么是存储过程和存储函数:指存储在数据库中供所有用户程序调用的子程序叫做存储过程.存储函数. 这个子程序是用PL/SQL写的.可以用Java程序调用,就是完成特定功能的子程序. 用create pro ...

  7. Mysql存储过程和存储函数

    存储过程和存储函数 前言 存储过程的相关操作 创建 调用 查看 删除 语法 变量的定义与赋值 if条件判断 参数 case结构 while循环 repeat循环结构 loop语句 leave语句 游标 ...

  8. oracle存储过程与函数的区别及作用,Oracle存储过程与存储函数-入门

    文章思维导图 一. 存储过程和存储函数的定义 定义:存储在数据库中,供所有用户程序调用的子程序叫做存储过程/存储函数.复杂点的解释:存储过程(Stored Procedure),就是一组用于完成特定数 ...

  9. 【宋红康 MySQL数据库】【基础版】【15】存储过程与存储函数

    文章目录 存储过程与存储函数 定义存储过程与存储函数 对比存储函数和存储过程 存储过程概述 理解 分类 创建存储过程 语法分析 代码举例 调用存储过程 调用格式 代码举例 如何调试 存储函数的使用 语 ...

最新文章

  1. MIT新研究给量子计算机「泼冷水」:自然界辐射会干扰它,需要研究新对策 | Nature...
  2. jupyter python版本_Ubuntu Desktop 16.04 LTS 下成功配置Jupyter的两个python内核版本(2.7x,3.5x)...
  3. 医生c语言测试卷b卷的答案,合肥工业大学C语言期中测试题_B卷
  4. 关于一类docker容器闪退问题定位
  5. leetcode lcp2 分式化简
  6. Windows PowerShell 2.0语言开发之脚本块
  7. LinkedHashMap内部实现
  8. SSIS高级转换任务—导出列
  9. 非全日制考研计算机教育,22考研之全日制与非全日制的区别
  10. 系统版本与服务器版本不一致,服务器sql版本不一致,请问如何恢復备份
  11. 《离散数学及其应用》【张清华版】 第四章习题总结
  12. html5妇女节游戏,2018三八妇女节趣味游戏大全
  13. c语言整形符号位_c语言无符号整型表示
  14. python getsize函数,Python getsize函数
  15. LCD(GEC6818)
  16. 【Mathtype】安装Mathtype后,word无法粘贴的问题
  17. Spring Security 实战内容:实现自定义退出登录
  18. 图的点连通度边连通度总结
  19. 拉伸图片的时候怎么才能让图片不变形
  20. android4.4.2小游戏,安卓模拟器4.4.2内核之上的穹顶之战 夜神1.1.3版本到来

热门文章

  1. python爬取去哪网数据_Python爬虫入门:使用Python爬取网络数据
  2. linux 5.5 外接usb2.0硬盘,RHEL5 使用pam_usb
  3. 制定交叉编译工具_制作交叉编译工具链的方法总结(详细)
  4. T计算机硬件系统是指,计算机硬件系统试题 有答案
  5. oracle12542,Oracle 11Gr1监听报错 TNS-12542 12560 00512
  6. java基类能调用虚函数_如果我要重写基类的虚函数,可以调用它吗?
  7. C++轻量级微服务_微服务的部署
  8. python中filter用法_filter用法--Python
  9. channelinboundhandler中都包含了哪一类的方法_标准气体的分类类别与相关气体配置方式方法...
  10. 基于增量更新的协同过滤