当前位置: 首页 > 编程笔记 >

plsql PLSQL的定义

贲绪
2023-03-14
本文向大家介绍plsql PLSQL的定义,包括了plsql PLSQL的定义的使用技巧和注意事项,需要的朋友参考一下

示例

PL / SQL(过程语言/结构化查询语言)是Oracle Corporation对SQL和Oracle关系数据库的过程扩展。在Oracle数据库(版本7起),TimesTen内存数据库(版本11.2.1起)和IBM DB2(版本9.7起)中提供了PL / SQL。

PL / SQL中的基本单元称为块,它由三部分组成:声明部分,可执行部分和异常生成部分。

DECLARE
   <declarations section>
BEGIN
   <executable command(s)>
EXCEPTION
   <exception handling>
END;

声明-本节以关键字DECLARE开头。它是一个可选部分,定义了所有变量,游标,子程序以及程序中要使用的其他元素。

可执行命令-此部分包含在关键字BEGIN和END之间,是强制性部分。它由程序的可执行PL / SQL语句组成。它应该至少有一行可执行代码,这可能只是NULL命令,指示什么都不应执行。

异常处理-本节以关键字EXCEPTION开头。本节还是可选的,包含exception(s)处理程序中的错误的内容。

每个PL / SQL语句均以分号(;)结尾。可以使用BEGIN和END将PL / SQL块嵌套在其他PL / SQL块中。

在匿名块中,仅需要块的可执行部分,其他部分不是必需的。以下是简单的匿名代码示例,该代码不执行任何操作,但执行时不会报告错误。

BEGIN
    NULL;
END;
/

缺少可执行指令会导致错误,因为PL / SQL不支持空块。例如,下面的代码执行将导致错误:

BEGIN
END;
/

应用程序将引发错误:

END;
*
ERROR at line 2:
ORA-06550: line 2, column 1:
PLS-00103: Encountered the symbol "END" when expecting one of the following:
( begin case declare exit for goto if loop mod null pragma
raise return select update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
continue close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe purge

关键字“ END”下一行的符号“ *”;表示以该块结尾的块为空或构造错误。就像我们的示例一样,每个执行块都需要执行指令,即使它什么也不做。

 类似资料:
  • 考虑以下C程序: null 访问易失性对象、修改对象、修改文件,或者调用执行那些操作中的任何操作的函数都是副作用,它们是执行环境状态的改变。表达式的计算通常包括值计算和副作用的启动。用于lvalue表达式的值计算包括确定指定对象的标识。 Sequenced before是单线程执行的计算之间的非对称、传递、成对关系,它导致这些计算之间的部分顺序。给定任意两个评价A和B,如果A排序在B之前,那么A的

  • 我对CDI bean的定义有一个疑问: CDIBean是指使用注释注入的bean,还是指在它们内部使用的bean?

  • 类的定义 1.定义基类 任何不从另一个类继承的类都是所谓的基类 Swift类不会从一个通用基类继承. 你没有指定特定父类的类都会以基类的形式创建. class Vehicle { var currentSpeed = 0.0 var description: String { "traveling at \(currentSpeed) miles per hour"

  • 二分图是图论当中很重要的一个板块,由二分图的匹配与带权匹配可以推广出一般图的匹配与带权匹配。本篇主要会讲到二分图的定义、性质、判定。 一、定义 二分图,又称二部图,英文名叫 Bipartite graph,是图论中的一种特殊模型。 二分图是什么?节点由两个集合组成,且两个集合内部没有边的图。换言之,存在一种方案,将节点划分成满足以上性质的两个集合。 二、性质 那么二分图有什么性质呢? 当且仅当无向

  • 问题内容: 在我的项目中,我正在使用python库处理所有HTTP请求。 现在,我需要使用特定的DNS查询http服务器-有两种环境,每种环境都使用自己的DNS,并且更改是独立进行的。 因此,当代码运行时,它应使用特定于环境的DNS,而不是在我的Internet连接中指定的DNS。 问题答案: 该模块以相同的名称子类化,已用调用的方法替换了该方法。反过来,这委托给。修补 该 功能可能是最简单的:

  • 所以我想确定加油站是否需要另一台自动售货机(这是一个练习,不是现实生活中的问题)。我给的唯一一件事是,每分钟客户都在尝试使用自动售货机,而客户平均需要0.95分钟来购买和支付所购买的东西。我对“arrivals defined by”字段有问题。练习说我绝对必须使用到达间隔率。它还说,概率分布是未知的,它绝对不是指数分布。我的问题是,有没有办法不使用分布函数来定义到达间隔率。我试着自己输入数字,但

  • 我试图按照这篇文章将cucumber规格与IntelliJ中的步骤定义相匹配。 当我按Alt Enter时,我看到检查未定义的步骤选项。但是,我应该看到意图操作创建步骤定义。 我想我已经安装了Cucumber IntelliJ插件,所以这应该不是问题。非常感谢任何帮助。

  • 这是我的pom 时出现以下错误