随笔分类 - PL/SQL
摘要:1.编写一段PL/SQL,实现计算个人 所得税计算逻辑。(参考图例的扣除方法) 3500免征 如果超过3500,按以下阶段方式扣除 --小于1500时,税率按3%,速算扣除数0 --在1500到4500区间时,税率10%,速算扣除数105 --在4500到9000区间时,税率20%,速算扣除数555
阅读全文
摘要:1.什么是PL/SQL,有什么用 Procedure Language+SQL PL/SQL是Oracle数据库特有的编程语言。 PL/SQL程序是以SQL为基础,引入了 编程语言特点,例如变量,分支判断, 循环等语法。 PL/SQL可以存储在Oracle数据中, 可以重复使用或被外界调用。 PL/
阅读全文
摘要:*2.PL/SQL基本语法 1)匿名块 一段不能在数据库存储的PL/SQL。 基本结构如下: DECLARE //变量的声明定义区域(可省略) BEGIN //业务处理区域 EXCEPTION //异常处理区域(可省略) END 2)注释 --单行注释内容 /* 多行注释内容 */ 3)控制台打印输
阅读全文
摘要:5)变量 基本类型:建表时前面所学类型 复合类型:记录类型,表类型 //定义一个变量并给初值 变量名 类型 := 初值; //定义变量,初值为null 变量名 类型; DECLARE msg varchar2(20) := 'Hello'; BEGIN dbms_output.put_line(ms
阅读全文
摘要:第3种 FOR ... in ... LOOP END LOOP; BEGIN FOR i IN 1..10 LOOP dbms_output.put_line(i); END LOOP; END; FOR循环使用要点: --FOR后面的循环变量不需要声明, 会自动定义 --FOR循环只能用于数值集
阅读全文
摘要:6)if判断语句 if ... then else end if; if ... then elsif ... then elsif ... then else end if; declare sex char(1) := 'M'; begin if sex='M' then dbms_output
阅读全文
摘要:第2种 WHILE ... LOOP END LOOP; declare n number(3) :=1; begin WHILE n<=10 LOOP dbms_output.put_line(n); n:=n+1; END LOOP; end; declare str varchar2(50):
阅读全文
摘要:8)DML语句的使用 在PL/SQL中,DML语句与前面学习的 相同。 begin --执行插入操作 insert into t001(id) values(1); --执行一个删除 delete from t001 where id>1; --执行一个更新 update t001 set id=5
阅读全文
摘要:7)循环语句 第1种 LOOP ... END LOOP; declare n number(3) := 1; begin LOOP dbms_output.put_line(n); n := n+1; EXIT WHEN n>10; END LOOP; end; / //有一个字符串"abcdef
阅读全文
摘要:10)游标使用 用于执行多行记录查询. a.游标使用方法 --在declare部分定义游标 在begin部分使用游标 --open 游标 --fetch 游标 into 变量 --close 游标 b.游标使用示例 declare CURSOR c_emp_cursor IS select enam
阅读全文
摘要:9)DQL查询语句使用 SELECT语句在PL/SQL中使用,必须 采用下面用法: select id INTO 变量 from t001 where id=5; 将记录字段值取出,然后给变量赋值。 提示:select适用于有且只有一行记录 返回的情况。如果是多行查询需要使用 游标技术访问。 dec
阅读全文
摘要:11)变量定义方法 //定义一个v_name变量, //类型大小与EMP表ENAME字段一致 v_name emp.ename%TYPE; //定义一个v_emp变量,是记录类型 //可以存储一行记录信息 v_emp emp%ROWTYPE; declare v_emp emp%ROWTYPE;--
阅读全文
摘要://动态编译:在程序执行过程中, 将字符串格式的编译成SQL执行指令。 begin execute immediate 'drop table p001'; execute immediate 'create table p001(id number(3))'; end; begin execute
阅读全文
摘要:2.函数 Oracle提供了一些内置函数,例如 字符串处理,日期处理等。开发者也 可以采用PL/SQL自定义函数。 create or replace function 函数名 (参数名 类型...) return 返回类型 IS --变量定义 begin --主处理区 exception --异常
阅读全文
摘要:3.过程 过程可以封装对数据表增删改查操作。 需要对表增删改操作时,需要使用 过程(存储过程)。 create or replace procedure 过程名 (参数名 类型) is --变量定义 begin --主处理 exception --异常处理 end; 案例:编写一个存储过程,按给定员
阅读全文
摘要:触发器 触发器不用显式调用,是由一些 数据库操作自动触发。例如insert, update,delete等动作触发,也可以 由登录或登出等事件触发。 触发器分类: *a.DML触发器 由DML语句操作触发.DML触发器 又分为语句级触发器和行级触发器。 语句级:对表执行insert,delete,
阅读全文