Oracle-PL/SQL基础- 更新中

前端之家收集整理的这篇文章主要介绍了Oracle-PL/SQL基础- 更新中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

PL/sql简介

pl/sql(procedural language/sql)是Oracle在标准的sql语言上的扩展,pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大。

pl/sql是面向过程的语言。

不同数据库sql扩展

PL/sql的必要性:

1、提高应用程序的运行性能
2、模块化的设计思想。
3、减少网络传输量。
4、提高安全性。

PL/sql编写规范

1、注释
单行注释–
sql>select * from emp where empno=7788; –取得员工信息

多行注释

/………………../

2、标识符号的命名规范

(1)当定义变量时,建议用v_作为前缀 v_sal。

(2)当定义常量时,建议用c_作为前缀 c_rate。

(3)当定义游标时,建议用_cursor作为后缀emp_cursor。

(4)当定义例外时,建议用e_作为前缀 e_error。

PL/sql

块(block)是pl/sql的基本程序单元,编写pl/sql程序实际上 就是编写pl/sql块。要完成相对简单的应用功能,可能只需要编写一个pl/sql块;但是如果想要实现复杂的功能,可能需要在一个pl/sql块中嵌套其他的pl/sql块。

1、块结构示意图

pl/sql块由三个部分构成:定义部分、执行部分、例外处理部分。

declear:定义部分是从declare开始的,这部分是可选的。定义常量、变量、游标例外、复杂数据类型。

begin:执行部分是从begin开始的,这部分是必须的。

exception:例外处理部分是exception开始的,该部分可选的。

第一个PL/sql程序

PLsql中的命令窗口

sql> set serveroutput on ;--打开输出
sql> declare  
    --定义部分 ,如果没有定义,declare可以省略。 可选 ,定义常量、变量、游标、例外、复杂数据类型
  2  begin 
     --程序
  3  dbms_output.put_line('66666666');
  4  end;
  5  /

66666666

PL/sql procedure successfully completed sql> / --表示执行上一个PL/sql块。 66666666 PL/sql procedure successfully completed 

PL/sql基础语法


程序结构

declare
    说明部分(变量说明\光标声明\例外说明)
begin 语句序列(DML语句) exception 例外处理语句 end ;
/

基本变量类型

说明部分

定义基本变量类型:char 、 varchar2、date、number、boolean、long

举例:

var1 char(20);
married boolean := false ;
psal number(7,2);
sql> set serveroutput on ;
sql> 
sql> declare
  2   -- 定义基本变量类型
  3   v_name varchar2(20);--varchar2 字符串类型
  4   v_num  number(7,2);--number 数字类型
  5   v_date date ;--date 日期类型
  6  
  7   begin
  8  
  9     v_name :='小工匠';
 10     dbms_output.put_line('name:'||v_name);
 11  
 12     v_num :=999;
 13     dbms_output.put_line('num:'||v_num);
 14  
 15     v_date :=sysdate;
 16     dbms_output.put_line('数据库时间:'||v_date);
 17  
 18     dbms_output.put_line('明天的时间:'||(v_date+1));
 19   end ;
 20  /

name:小工匠
num:999
数据库时间:22-JUN-16
明天的时间:23-JUN-16

PL/sql procedure successfully completed sql> 

引用型变量

使用%TYPE类型的变量

举例

v_name emp.ename%type ;

记录型变量


if语句的使用

循环语句的使用

光标

光标的引入

光标的语法和第一个实例

实例:给员工涨工资

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

带参数的光标

例外

例外的概念和系统例外

系统例外之no_data_found

系统例外之too_many_rows

系统例外之zero_divide

系统例外之value_error

自定义例外

案例

运用瀑布模型完成PLsql程序的设计

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

案例:员工涨工资问题

@H_782_301@案例:涉及两张表的员工涨工资问题

案例:成绩统计(上)

案例:成绩统计(下)

原文链接:https://www.f2er.com/oracle/213929.html

猜你在找的Oracle相关文章