PL/SQL块与表达式
一、块(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块与表达式的更多相关文章
- Oracle PL/SQL块
PL/SQL块 简介 :PL/SQL是 Procedure Language & Structured Query Language 的缩写,是ORACLE公司对标准数据库语言的扩展 PL/S ...
- PL/SQL编程基础(一):PL/SQL语法简介(匿名PL/SQL块)
PL/SQL PL/SQL是Oracle在关系数据库结构化查询语言SQL基础上扩展得到的一种过程化查询语言. SQL与编程语言之间的不同在于,SQL没有变量,SQL没有流程控制(分支,循环).而PL/ ...
- 九、dbms_ddl(提供了在PL/SQL块中执行DDL语句的方法)
1.概述 作用:提供了在PL/SQL块中执行DDL语句的方法,并且也提供了一些DDL的特殊管理方法. 2.包的组成 1).alter_compile说明:用于重新编译过程.函数和包语法:dbms_dd ...
- pl/sql基础知识—pl/sql块介绍
n 介绍 块(block)是pl/sql的基本成型单元,编写pl/sql程序实际上就是编写pl/sql块.要完成相对简单的应用功能,可能只需要编写一个pl/sql块:但是如果要想实现复杂的功能,可能 ...
- SQL语句、PL/SQL块和SQL*Plus命令之间的区别
SQL语句.PL/SQL块和SQL*Plus命令之间的区别 原文链接:https://blog.csdn.net/liuzhushiqiang/article/details/12320941 在 ...
- oracle中plsql练习题-----编写一个PL/SQL块,输出所有员工的员工姓名、员工号、工资和部门号
一.思路:首先输出需要变量接收,需要声明变量,于是考虑什么变量类型比较合适,在这我用的是table类型,最后,查询出来,循环输出即可. 二.具体实现 -- 编写一个PL/SQL块,输出所有员工的员工姓 ...
- oracle执行多个pl/sql块
DECLARE V_SQL_DROP_TABLE VARCHAR2(50) := 'DROP TABLE MY_TEST2'; V_SQL_CREATE_TABLE VARCHAR2( ...
- PL/SQL块loop..各种循环练习
--利用loop输出1到100的值并求和 ---loop exit end loop set serveroutput on; declare v_i ; v_sum ; begin loop )th ...
- 在 PL/SQL 块的哪部分可以对初始变量赋予新值? (选择1项)
A.结尾部分 B.开头部分 C.执行部分 D.声明部分 解答:C
随机推荐
- google test 打印派生类对象
在Unison中使用google test时,发现EXPECT_EQ在fail时,不能打印Unison Test Language中定义的派生类的对象.于是写了个纯C++的示例,发现在只定义基类的op ...
- echo、print和print_r的区别
1.echo 可以输出一个或多个字符串 ,多个以逗号隔开就行 2.print 也可以输出一个或多个字符串 ,多个要用连接符 3.print_r()可以打印数组:对象 bool print_r ( mi ...
- Python-19-元类
一.定义 元类就是类的类 type是python的一个内建元类 类的两种定义方式 # 定义类的两种方式 class Foo(object): def __init__(self, name, age) ...
- python 之 subprocesss 模块、configparser 模块
6.18 subprocesss 模块 常用dos命令: cd : changedirectory 切换目录 tasklist:查看任务列表 tasklist | findstr python ...
- 基于TCP的编程
前提:本文基于Linux系统下的学习 服务器端 1 创建通讯端口,返回socket设备的文件描述符 sfdsocket(2)#include <sys/types.h> /* See NO ...
- Win自带mastc远程Cenots7桌面
1.Centos7安装桌面 yum -y groups install "GNOME Desktop" startx 2.安装xrdp 操作需要root用户权限,所以,我们先切换为 ...
- React Hooks中父组件中调用子组件方法
React Hooks中父组件中调用子组件方法 使用到的hooks-- useImperativeHandle,useRef /* child子组件 */ // https://reactjs.org ...
- vmware vSphere Data Protection 6.1 --------1-部署
一.简介 1.vdp的介绍 介绍可以参考:vmware vSphere Data Protection简述(未完成) 官方中文文档:https://docs.vmware.com/cn/VMware- ...
- string类型的解释与方法
基本概念 string(严格来说应该是System.String) 类型是我们日常coding中用的最多的类型之一.那什么是String呢?^ ~ ^ String是一个不可变的连续16位的Unico ...
- 使用Docker发布Asp.Net Core程序到Linux
CentOS安装Docker 按照docker官方文档来,如果有之前安装过旧版,先卸载旧版,没有的话,可跳过. sudo yum remove docker \ docker-client \ doc ...