PL/SQL编程

基本语言风格

PL/SQL把SQL的数据操作功能同过程语言的数据处理功能结合起来。

--声明作用

declare

--变量、游标、用户自定义类型、异常

variables,cursors,user_defined,exceptione

--程序开始

begin

-SQL   statements

-PL/SQL    statements

--异常处理

EXCEPTION

Actions   to  perform   when  errors   occur

--程序结束标志

end;

1.     构成PL/SQL的基本单元:过程,函数,其他模块

2.     变量声明和异常处理是可选项,程序过程是必须的

字符集和注释

字符集包括:

1、所有大小写字母

2、0~9的数字

3、(){} +、-、*、%等一些特殊字符

4、空格符、制表符、回车符

单行注释:

--声明作用

declare

--变量、游标、用户自定义类型、异常

variables,cursors,user_defined,exceptione

--程序开始

begin

-SQL   statements

-PL/SQL    statements

--异常处理

EXCEPTION

Actions   to  perform   when  errors   occur

--程序结束标志

end;

多行注释:不允许嵌套使用

/*

declare

variables,cursors,user_defined,exceptione

begin

-SQL   statements

-PL/SQL    statements

EXCEPTION

Actions   to  perform   when  errors   occur

end;

*/

数据类型和转换

常用数据类型:

数字类型:Number、PLS_Integer、BINARY_Integer

字符类型:Char、Varchar2、Long、Nchar2、Nvarchar2

日期类型:Date、TimeStamp、Interval

布尔类型:Boolean

LOB类型:blob、long、raw、

类型转换

To_char():把Number和date类型转换为varchar2()类型

To_date():把char类型转换为Date类型

To_number():把char类型转换为number类型

自动类型转换:字符和数字,字符和日期

自动类型转换:Max结果是Number类型,这里就转换为varchar2类型

declare

v_customer_id  varchar2(10);

begin

select  Max(CUST_ID)  INTO  v_customer_id

from  customers  where  CUST_FIRST_NAME='Anne';

end;

手动类型转换

declare

v_customer_id  varchar2(10);

begin

select  to_char(Max(CUST_ID))  INTO  v_customer_id

from  customers  where  CUST_FIRST_NAME='Anne';

end;

变量和常量

变量就是程序读取和赋值的存储单元。

v_customer_id  varchar2(10);

v_name  varchar2(20);

v_date  Date;

常量就是在前面加上constant修饰,并且赋值即可。

limit_connect   constant  numb:=50000;

运算符

算术运算符

+-正负

+加号

-减号

*乘号

/出号

**幂

关系运算符

<>不等于

!=不等于

^=不等于

>大于

<小于

=等于

其他运算符

not

and

or

/**/

--

:=赋值

‘字符界

流程控制

IF_THEN_ELSE语句

declare

v_number   sales.prod_id%type;

v_comment   varchar2(35);

begin

/*对prod_id判断*/

select   max(prod_id)

into   v_number

from   sales;

if    v_number<500   then

v_comment:='Too  Small';

elsif   v_number<1000   then

v_comment:='Litter   Bigger';

else

v_comment:='That  enough';

end   if;

end;

CASE语句

declare

v_first_name   customer.customer   first_name%type;

v_result   varchar2(20)

begin

--从数据库中取出要判断的值

select   customer_first_name

into   v_first_name

from   customer

where    c_id=100;

--判断v_first_name的值,获得结果

case   v_first_name

when   'Anne'   then

v_result:='IS  Anne';

when   'Fire'   then

v_result:='IS  Fire';

else

v_result:='Nothing';

end   CASE;

end;

FOR_LOOP语句

declare

v_counter   binary_integer:=1;

begin

for   v_counter  in  1..19   LOOP

--满足条件要执行的SQL语句

insert   into   number_table(num)   values   (v_counter);

end   LOOP;

END;

WHILE_LOOP

declare

v_counter   binary_integer:=1;

begin

WHILE   v_counter<20   LOOP

--满足条件要执行的SQL语句

insert   into   number_table(num)   values   (v_counter);

end   LOOP;

END;

GOTO顺序控制

goto  lable;label是指<<>>括起来的标记

declare

v_counter   binary_integer:=1;

LOOP

INSERT   INTO   number_table(num)   values   (v_counter);

v_counter:=v_counter+1;

--v_counter:=20的时退出去

if   v_counter=20   then

goto   loop_end;

end   if;

end   LOOP;

<<loop_end>>

END;

Oracle的PL/SQL编程相关推荐

  1. Oracle的PL/SQL编程前奏之基础技能实战一(匿名子程序)

    Oracle的PL/SQL编程之基础技能实战一 一>基础代码检查检查以bm_开头的系统初始化编码表是否有空值.与业务系统相关的编码项不能存在空值,会导致系统业务无法办理.为初始化数据表.在做测试 ...

  2. Oracle之PL/SQL编程从入门到精通-文心-专题视频课程

    Oracle之PL/SQL编程从入门到精通-23941人已学习 课程介绍         本课程基于Oracle数据库,讲解PL/SQLl编程方面的技能,通过本课程的学习,学员能在短的时间内掌握Ora ...

  3. oracle pl/sql编程详细,Oracle框架:PL/SQL编程:

    PL/SQL编程 一:什么是PL/SQL (1.)PL/SQL体系结构: PL/SQL引擎用来编译和执行,PL/SQL块或子程序,该引擎驻留在Oracle服务器中. (2.)PL/SQL块简介 PL/ ...

  4. 10、oracle下PL/SQL编程基础

    ORACLE下的PL/SQL编程基础 PL/SQL语言是程序化程序设计语言,块是PL/SQL编程中的基本结构,其优点在于支持SQL.支持面向对象编程.性能好.可移植性.与sql集成.安全性高等. 1. ...

  5. oracle快捷语句框架中,Oracle框架:PL/SQL编程:

    PL/SQL编程 一:什么是PL/SQL (1.)PL/SQL体系结构: PL/SQL引擎用来编译和执行,PL/SQL块或子程序,该引擎驻留在Oracle服务器中. (2.)PL/SQL块简介 PL/ ...

  6. 基于oracle 的PL/SQL编程 -变量使用

    1. 需要开启的服务:  本机安装的oracle ,默认是开机启动服务的,开机时间太慢,关闭了,需要手动打开: OracleDBConsoleorcl OracleOraDb10g_home1iSQL ...

  7. Oracle之pl/sql编程(一)函数,过程,包

    pl/sql是什么? pl/sql是oracle在标准sql语言上的扩展.不仅允许嵌入sql语言,还可以定义常量和变量,允许使用条件语句和循环语句,允许使用例外处理各种错误. 作用:过程,函数,触发器 ...

  8. Oracle基础--PL/SQL编程--变量

    一.PL/SQL变量概念 在Oracle中,有两种变量,一为普通变量(如char.varchar2.date.number.long等),二为特殊变量(引用型变量.记录型变量). 二.普通变量的声明 ...

  9. oracle if函数变量,Oracle数据库——PL/SQL编程

    PL/SQL块基本结构 declare -- 声明部分 begin -- 执行部分 exception -- 异常处理部分 end; 声明部分:包含变量.常量定义,由 declare 关键字开始,如果 ...

最新文章

  1. nvidia:未找到命令
  2. ng-notadd 0.17.1 发布,基于 Angular 的企业级中后台
  3. ov5640帧率配置_一文看懂赛博朋克2077中低配置的设置方法和能畅玩的电脑有哪些?...
  4. StartService返回2的解决方法
  5. csdn 用户 蚂蚁翘大象_用户界面设计师房间里的大象
  6. 女朋友天天气我怎么办_关于我的天气很奇怪
  7. *【2019牛客暑期多校训练营(第三场)- G】Removing Stones(分治)
  8. 佳能c3320怎么设置接收方_入门级单反相机佳能800D是否值得买?在我看来价格决定一切...
  9. selenium+chromeheadless爬取网站
  10. Pandas Series
  11. 做人要无需,做事要务实!
  12. js数组的sort排序(获取中位数)
  13. 通过tomcat配置solr 4.10.3
  14. 删除华为C8650手机驱动的过程
  15. Android中URI
  16. 【操作系统】第十一章-多媒体操作系统
  17. A23_郭自强_网页前端1
  18. python中求和符号怎么打_参数siz向量的python符号求和与微分
  19. 2019年双十一购物数据分析报告
  20. flutter图片聊天泡泡_Flutter 非常丰富的消息气泡效果合集

热门文章

  1. 积木城堡 (01背包)
  2. 集合元素为什么不能是可变数据类型
  3. 新员工试用期时间过了10天,HR却不让转正,网友:仲裁要2N赔偿
  4. 鬼谷八荒修改器风灵月影版(附怎么用)
  5. java计算机毕业设计高校微后勤服务平台MyBatis+系统+LW文档+源码+调试部署
  6. C++学习之左移运算符重载
  7. 斯坦福密码学课程-笔记-01-Introduction绪论
  8. 介绍一款每日与明日星座查询工具
  9. mt4系统平台的服务器,mt4平台服务器地址
  10. 嵌入式STM32入门之定时器控制LED闪烁与产生PWM脉冲宽度调制信号