一、块(Block)

是PL/SQL的基本执行单元,由定义部分,执行部分(必须)和例外处理部分组成。

Declare
/*定义部分――定义常量、变量、游标、例外、复杂数据类型*/
Begin
/*执行部分――要执行的pl/sql语句和sql语句*/
Exception
/*例外处理部分――处理运行的各种错误*/
end;

例:

declare
v_ename varchar2(5);
v_sal number(7,2);
begin
select ename,sal into v_ename,v_sal from emp
where empno = &no;
dbms_output.put_line('雇员名:'||v_ename||' 薪水: '||v_sal);
exception
when no_data_found
then dbms_output.put_line('您输入的编号有误!');
end;

二、PL/SQL词汇单元

PL/SQL词汇单元是它的最小的组件:分隔符、标识符、字面量、注释。

1、分隔符

分隔符是一个字符或字符的组合,在PL/SQL中有特殊的意义。不要在分隔符中嵌入其它的字符。

简单分隔符只有一个字符。

  • +, -, *, / :加法,减法/否定,乘法,除法
  • %:属性索引
  • ‘:字符串分隔符
  • .:组件选择
  • (,):表达式或列表分隔符
  • ::主机变量指示符
  • ,:项目分离符
  • “:带引号的标识符分隔符
  • =:关系运算符
  • @:远程访问指示符
  • ;:声明终止符

复合分割符由两个字符组成。

  • :=:赋值运算符
  • =>:操作符关联
  • **:乘方运算符
  • <<, >>:标签分隔符(开始和结束)
  • /, /:多行注释分隔符(开始和结束)
  • –:单行注释指示符
  • ..:范围操作
  • <, >, <=, >=:关系运算符
  • <>, ‘=, ~=, ^=:不同版本的不相等的

2、标识符

  • 标识符命名pl/sql元素,包括:常量、光标、异常、关键字、标签、包、保留字、子程序、类型、变量。
  • 标识符是由一个字母后面可以跟更多的字母,数字,美元符号,下划线和数字符号,并且不得超过30个字符。而像连字符(-)、斜线(/)等符号都是不允许使用的。
  • 除了字符串和字符以外,PL/SQL对大小写是不敏感的。
  • 不能使用保留关键字作为标识符。

3、文本

整数:030, 6, -14, 0, +327672E5,  5 * 10**3

字符:'Z' , '%' , '7' , ' ' , 'Hello, world!'

布尔: TRUE、FALSE和 null

日期: DATE  '1998-12-25' ; TIMESTAMP  '1997-10-22 13:01:01' ;

4、注释

单选注释

Select * from emp where empno=7788;--取得员工信息

多行注释

/*……*/来划分

三、PL/SQL代码编写规则

1)当定义变量时,建议用v_作为前缀;常量用c_作为前缀 ;游标用_cur作为后缀;当定义例外用e_作为前缀。

2、PL/sql块中的语句不区分大小写

3、PL/SQL中可以使用大多数的单行SQL函数:round,upper,to_char,month_between .

PL/SQL块与表达式的更多相关文章

  1. Oracle PL/SQL块

    PL/SQL块 简介 :PL/SQL是 Procedure Language & Structured Query Language 的缩写,是ORACLE公司对标准数据库语言的扩展 PL/S ...

  2. PL/SQL编程基础(一):PL/SQL语法简介(匿名PL/SQL块)

    PL/SQL PL/SQL是Oracle在关系数据库结构化查询语言SQL基础上扩展得到的一种过程化查询语言. SQL与编程语言之间的不同在于,SQL没有变量,SQL没有流程控制(分支,循环).而PL/ ...

  3. 九、dbms_ddl(提供了在PL/SQL块中执行DDL语句的方法)

    1.概述 作用:提供了在PL/SQL块中执行DDL语句的方法,并且也提供了一些DDL的特殊管理方法. 2.包的组成 1).alter_compile说明:用于重新编译过程.函数和包语法:dbms_dd ...

  4. pl/sql基础知识—pl/sql块介绍

    n  介绍 块(block)是pl/sql的基本成型单元,编写pl/sql程序实际上就是编写pl/sql块.要完成相对简单的应用功能,可能只需要编写一个pl/sql块:但是如果要想实现复杂的功能,可能 ...

  5. SQL语句、PL/SQL块和SQL*Plus命令之间的区别

    SQL语句.PL/SQL块和SQL*Plus命令之间的区别   原文链接:https://blog.csdn.net/liuzhushiqiang/article/details/12320941 在 ...

  6. oracle中plsql练习题-----编写一个PL/SQL块,输出所有员工的员工姓名、员工号、工资和部门号

    一.思路:首先输出需要变量接收,需要声明变量,于是考虑什么变量类型比较合适,在这我用的是table类型,最后,查询出来,循环输出即可. 二.具体实现 -- 编写一个PL/SQL块,输出所有员工的员工姓 ...

  7. oracle执行多个pl/sql块

    DECLARE    V_SQL_DROP_TABLE   VARCHAR2(50) := 'DROP TABLE MY_TEST2';    V_SQL_CREATE_TABLE VARCHAR2( ...

  8. PL/SQL块loop..各种循环练习

    --利用loop输出1到100的值并求和 ---loop exit end loop set serveroutput on; declare v_i ; v_sum ; begin loop )th ...

  9. 在 PL/SQL 块的哪部分可以对初始变量赋予新值? (选择1项)

    A.结尾部分 B.开头部分 C.执行部分 D.声明部分 解答:C

随机推荐

  1. IDEA中的,让光标回到上一次停留的地方

    IDEA中的,光标返回到上一次停留的地方ctrl+alt+ ←IDEA中的,光标返回到下一次停留的地方ctrl+alt+ → 不过要小心,笔记本电脑,默认的翻转屏幕的快捷键和这个冲突..我的选择是关闭 ...

  2. 网络I/O模型

    事件驱动模型 与传统编程模式不同,事件驱动程序在启动之后,就在那等待,等待什么呢?等待被事件触发.传统编程下也有“等待”的时候,比如在代码块D中,你定义了一个input(),需要用户输入数据.但这与下 ...

  3. js控制数量包含截取

    <div class="usermes_index_line"> 进行中的单 <div id="usermes_index_line_i2"& ...

  4. 在Ubuntu下安装qt

    安装qt前的准备: 安装基础开发包,主要gcc,g++等: sudo apt-get install build-essential 1. 使用qt-opensource-linux-x86-5.5. ...

  5. [转帖]HAProxy 7层 负载均衡

    HAProxy 7层 负载均衡 https://www.cnblogs.com/jicki/p/5546902.html HAProxy 系统 CentOS 5.8 x64 wget http://h ...

  6. Java基础笔试练习(六)

    1.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数.类型或顺序各不相同,传回的值也可以不相同.这种面向对象程序的特性称为? A.隐藏 B.覆盖 C.重载 D.Java不支持此特性 ...

  7. 09 单例设计模式、__new__函数

    设计模式 设计模式是前任工作的总结和提炼,通常,被人们广泛流传的设计模式都是针对某一特定问题的成熟的解决方案. 使用设计模式是为了可重用代码.让代码更容易的被他人理解.保证代码的可靠性. 单例设计模式 ...

  8. Android Manifest 中 uses-feature 和 uses-permission的作用 关系和区别

    Manifest中的 <uses-permission android:name="android.permission.CAMERA" /> 和 <uses-f ...

  9. 【mapreudce】6.对Nginx的access日志进行数据清洗,我们提取出文件数据的ip,时间,url

    1.首先我们需要一个util辅助类 package cn.cutter.demo.hadoop.mapreduce.nginxlog.util; import java.text.ParseExcep ...

  10. Android—网络请求

    import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; ...