Oracle(PL/SQL编程基础(PL/SQL程序块与PL/SQL语句)、异常、游标、数据类型)

一、PL/SQL

Procedure Language/SQL是一门编程语言,Oracle公司对SQL进行了扩展,扩展后的SQL,就叫PL/SQL,功能更强大,面向过程语言,模块化编程语言,用于开发基于数据库的应用程序。下面关于PL/SQL编程基础主要介绍两点PL/SQL程序块于PL/SQL语句。

1、PL/SQL程序块

PL/SQL程序的基本单元,按照指定的方式,进行定义的一段程序。

   匿名块
      不能被其他程序调用
      可以临时使用
      匿名块的代码不会存储在数据库中

   命名块
      触发器
      存储过程
      函数
      包
      包体
      有名字的程序块
      可以重复调用
      会被编译并存储在数据库中

   子程序
      命名块
      有时候特指存储过程和函数

关于匿名块介绍

   语法:  [declare]  --定义部分:定义变量
          begin  --执行部分:sql语句、pl/sql块 
          [exception]  --异常处理
          end;  --块结束标记
   定义部分:用于定义常量、变量、游标、异常、数据类型
   执行部分:实现应用模块功能,包含了要执行的PL/SQL语句和SQL语句
   异常处理:处理执行部分可能出现的运行错误 
    begin
        dbms_output.put_line('hello world!');
    end;
    PL/SQL中 ';'只表示语句的结束,运行需要输入'/'
    set serveroutput on; 默认输出关闭,如需输出结果,需要手动设置开启
    dbms_output  Oracle提供的系统包
    put_line是dbms_output包下的过程,用于输出字符串信息
    PL/SQL程序块可以使用Oracle提供的SQL函数

关于变量和常量介绍

   定义变量或常量语法:
      变量名 [constant] 数据类型 [not null] [:= | default 表达式]
      := 赋值运算符
      constant 表示定义的是常量,必须对它初始化
      not null 用于指定变量不能为null,声明为not null的变量必须有初始化赋值

2、PL/SQL编程基础

具有特殊含义的符号

  算术运算符
     + - * / **(幂运算符)

  比较(关系)运算符
      >  >=  <  <=
      不等于:!=  <>  ^=
      等于:=

  is null      is not null
  like
  between...and...
  in()

  逻辑运算符
     and  or  not

  赋值运算符
     :=
  字符串连接符
     ||

  语句终止符
    ;

  双引号变量符
    “变量名”  常用在用关键字定义变量名或变量名含有空格等情况时

  注释符
     --单行注释
     /*
      *多行注释
      */

  范围操作符
         ..     1..10       1到10

  属性提示符
       %        %type       %rowtype

标识符

     可用于所有需要起名字的地方
     直接写,要以英文字母开头
     如果不以英文字母开头,要以双引号引起来
     标识符能直接使用的字符大小写英文字母、数字、_ 、$、#,
     如果要包含其他的字符,    则必须用双引号变量符,
     不能直接是oracle关键字,如果是,必须用双引号变量符
     最大长度为30个字符

文本(字面量)

       能直接写的值
       数字文本
          整数、浮点数、科学计数法 5E6 → 5×10^6、幂操作 5**2 → 5^2
       字符文本
          用单引号引起来的单个字符
       字符串文本
          用单引号引起来的两个或两个以上的字符
          字符串中’‘代表一个普通字符’
       布尔文本
          true false
       日期时间文本
          用字符串表示的
          日期字符串必须符合oracle对时间的默认显示格式‘dd-mon-yy’

块的嵌套
PL/SQL块可以嵌套,嵌套层次没有限制

     declare
         v_name varchar2(30) := '外层块';
      begin
         declare 
            v_name varchar2(30) :='内层块';
         begin 
            dbms_output.put_line(v_name);
         
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值