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
随机推荐
- Intellij IDEA 打包jar的多种方式
IDEA打包jar包的多种方式 用IDEA自带的打包形式 用Maven插件maven-shade-plugin打包 用Maven插件maven-assembly-plugin打包 1.view-> ...
- 软件素材---linux C语言:向文件末尾进行追加数据
void AppendDataToFile(char* filePath, char* msg) { // 以附加方式打开可读/写的文件, 如果没有此文件则会进行创建,然后以附加方式打开可读/写的文件 ...
- Session中清除对象方法比较
转载. https://blog.csdn.net/u014401141/article/details/51816308 Session中清除对象方法比较 http://blog.csdn.ne ...
- C++ 获取系统当前时间(日历时)
获取系统当前时间(日历时) //Linux & C++11 #include <chrono> #include <ctime> using namespace std ...
- centos 6.10 oracle 19c安装
centos 7以下版本安装oracle 19c 问题较多,centos 以上版本没有任何问题.记录如下. hosts文件,否则图形界面无法启动 127.0.0.1 localhost localho ...
- Echarts设置y轴值间隔 以及设置 barWidth : 30,//柱图宽度
需求:如图,y轴之间的距离太小,这样就太过于拥挤了,现在要修改echarts里面的属性,设置y轴值间隔让图表看上去舒服一些. 其实很多问题,真的只是因为自己没有好好的看文档,很多文档上面都写的 ...
- 常用算法之排序(Java)
一.常用算法(Java实现) 1.选择排序(初级算法) 原理:有N个数据则外循环就遍历N次并进行N次交换.内循环实现将外循环当前的索引i元素与索引大于i的所有元素进行比较找到最小元素索引,然后外循环进 ...
- 在论坛中出现的比较难的sql问题:16(取一个字段中的数字)
原文:在论坛中出现的比较难的sql问题:16(取一个字段中的数字) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 问题:取一个字段中的数字http://bbs.csdn ...
- ASP.NET Core中防跨站点请求伪造
CSRF(Cross-site request forgery)利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的. 例子 在某个 ...
- 11/8 (tell tales web)
1.visual perception gestalt theory:格式塔学派是心理学重要流派之一,兴起于20世纪初的德国,又称为完形心理学.由马科斯·韦特墨.沃尔夫冈·苛勒和科特·考夫卡三位德国心 ...