PLSQL程序

第一章 PLSQL简介

-什么是PLSQL程序

  (Procedure Language/SQL)

  PLSQL是Oracle对sql语言的过程化扩展

    ----指在SQL命令语言中增加了过程处理语句(如分值、循环等),

    ----使SQL语言具有过程处理能力(PLSQL是面向过程的语言)

 

---特点:命令式语言

  SQL语言-》数据操纵能力+过程语言-》数据处理能力

  面向过程但更简单、高效、灵活、使用

 

----不同数据库的SQL扩展

  Oracle:PLSQL  

  DB2:SQL/PL

  SQL Server:Transac-SQL(T-SQL)

 

PLSQL的程序结构

  declare

    说明部分(变量说明、光标申明、例外说明)

  begin

    语句序列(DML语句)

  exception

    例外处理语句

  end;

  /

 

第二章 PLSQL基础语法

1定义基本类型

  --类型:char,varchar2,date,number,boolean,long

  --举例:var1  char(15);

      married  boolean:= true;

      psal  number(7,2);

 

2.引用型变量和记录型变量

  ---引用型变量

  ---举例:my_name emp.ename&type;

 

  ----记录型变量

  ----举例:emp_rec emp%rowtype;

  ----记录型变量分量的引用

    emp_rec.ename:='ADAMA';

 

3.if语句的使用

  IF 条件 THEN 语句1;

  语句2;

  END IF;

  

  IF 条件 THEN 语句序列1;

  ESLE 语句序列2;

  END IF;

 

  IF 条件 THEN 语句;

  ELSIF 语句 THEN 语句;

  ELSE 语句

  END IF;

--判断用户从键盘输入的数字

  1、如何使用if语句

  2、接收一个键盘输入(字符串)

例子:

  set serveroutput on

  accept num prompt '请输入一个数字';

 

  declare

    pnum number:=#

  begin

  if pnum=0 then dbms_output.put_line('请你输入数字0');

  elsif pnum = 1 then dbms_output.put_line('您输入的是1’);

  elsif pnum = 2 then dbms_output.put_line(‘您输入的是2 ‘);

  else dbms.output.put_line(‘其他数字’);

  end if;

  end;

  /

 

4.循环语句的使用

  WHILE total <= 25000 LOOP

  ...

  total := total + salary;

  END LOOP;

 

  Loop

  EXIT[when 条件];

  ...

  End Loop;

(这种方法控制光标比较简单)

 

  FOR I in 1...3 LOOP

  语句序列;

  END LOOP;

例子:

  declare  

    pnum number:=1;

  begin

    for pnum in 1...10 loop

    dbms_output.put_line(pnum);

    end loop;

  end;

  /

 

第三章 光标(游标)

1.光标的引入

   --就是一个结果集(Result Set)

 

2.光标的语法

   -- cursor 光标名 [(参数名 数据类型[,参数名 数据类型]...)]

    is select 语句;

  例子:cursor c1 is select ename from emp ;

a.从光标中取值

  --打开光标:open c1; (打开光标执行查询)

  --关闭光标:close c1;(关闭游标释放资源)

  --取一行光标的值:-fetch c1 into  pename;(取一行到变量中)

 

    1.光标的属性

      %found   %notfound

 

3.实例:员工涨薪

commit

对于oracle,默认的事务隔离级别是read committed

事务的ACID 原子性、一致性、隔离性、持久性

 

4.光标的属性和光标数的限制

   1.光标的属性:

    %found  %notfound

    %isopen  判断光标是否打开

    %rowcount 影响的行数

  2.光标的限制:默认情况下,能打开300个光标

  修改光标之 的限制

  alter system set open_ursors=400 scope=both;

  scope的取值:both(),memory(当前文件),spfile(数据需要重启,参数文件)

 

5.带参数的光标

   

-- cursor 光标名 [(参数名 数据类型[,参数名 数据类型]...)]

    is select 语句;

第四章  系统例外

1.概念和系统例外

 

2.no_data_found

 

3.too_many_rows

 

4.zero_divide

 

5.value_error

 

6.自定义例外

 

第五章 案例集锦

1.运用瀑布模型完成PLSQL程序的设计

 

2.案例:统计每年入职的员工人数

 

3.案例:员工涨工资问题

 

4.案例:涉及两张表的员工涨工资问题

 

 

  

 

转载于:https://www.cnblogs.com/zsjlovewm/p/10584061.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值