当前位置: 首页 > news >正文

Oracle PL / SQL块结构

在PL / SQL中,最小的有意义的代码分组被称为块。

块代码为变量声明和异常处理提供执行和作用域边界。

PL / SQL允许您创建匿名块和命名块。

命名块可以是包,过程,函数,触发器或对象类型。

PL / SQL是SQL的过程语言扩展,它具有块结构。

每一段代码都在块中执行。

PL / SQL块最多有四个不同的段,其中只有一个是强制的:

语法

PL / SQL有四个关键字:

DECLARE:每个PL / SQL块都有一个声明部分。

这是为游标,数据类型定义,变量,嵌入函数和过程分配内存的位置。

BEGIN:每个PL / SQL块都有一个可执行部分。

它以关键字BEGIN开头。

BEGIN标志着你把程序逻辑放在哪里的开始。

并且每个PL / SQL程序必须至少有一行可执行代码,即使它是关键字NULL,这意味着没有操作。

EXCEPTION:每个PL / SQL块都有一个异常处理部分。

它以关键字EXCEPTION开头。

这是您将捕获任何数据库或PL / SQL错误的地方。

与声明部分一样,您不会使用异常处理部分,但它仍然存在。

END:每个PL / SQL块以关键字END结束。

匿名块

我们将从一个匿名的PL / SQL块开始。

匿名blick不保存在数据库中。

它们非常适合创建测试单元。

匿名PL / SQL块的一般语法如下:


[ DECLARE ... declaration statements ... ] 
BEGIN ... one or more executable statements ... 
[ EXCEPTION 
... exception handler statements ... ] 
END; 

方括号表示语法的可选部分。

您必须具有BEGIN和END语句,并且必须至少有一个可执行语句。

注意

以下代码是匿名PL / SQL块的示例。

注释描述不同的部分。


-- This is an anonymous procedure, so it has no name
declare/* declare local cursors, variables, and methods here.We don't need to have a declaration section.*/
begin-- You write your logic herenull;  -- at least one command!
exceptionwhen NO_DATA_FOUND thenraise_application_error(-20000, 'No Data Found!');
end;
/   -- the forward slash says execute this procedureset serveroutput on size 1000000 beginSYS.DBMS_OUTPUT.put_line('Hi from java2s.com!'); 
end; 
/ 

第一行告诉SQL * Plus在PL / SQL过程完成后,将您的会话的数据库输出回显到屏幕。

注意,对server 10000out设置serveroutput是一个SQL * Plus命令,不是匿名块的一部分。

以下代码显示了最小的匿名块:


BEGIN DBMS_OUTPUT.PUT_LINE(SYSDATE); 
END; 

 CSDN:程序猿 寄语:
1、作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具。
2、程序员可以让步,却不可以退缩,可以羞涩,却不可以软弱,总之,程序员必须是勇敢的。
3、编程是一种单调的生活,因此程序员比普通人需要更多的关怀,更多的友情。
4、程序不是年轻的专利,但是,他属于年轻。
5、没有情调,不懂浪漫,也许这是程序员的一面,但拥有朴实无华的爱是他们的另一面。
6、一个好汉三个帮,程序员同样如此。
7、一个100行的代码调试都可能会让程序员遇到很多挫折,所以,面对挫折,我们永远不能低头。
8、调试完一个动态连接函数,固然值得兴奋,但真正的成功远还在无数个函数之后。
9、程序是我的生命,但我相信爱她甚过爱我的生命。
10、信念和目标,必须永远洋溢在程序员内心。
11、就算我们站在群山之颠,也别忘记雄鹰依旧能从我们头顶飞过。骄傲是比用JAVA进行底层开发更可笑的东西。
12、这句话不是很文雅,彻底鄙视那些害怕别人超越自己而拒绝回答别人问题的程序员。
13、如果调试一个程序让你很苦恼,千万不要放弃,成功永远在拐角之后,除非你走到拐角,否则你永远不知道你离他多远,所以,请记住,坚持不懈,直到成功。
14、最累的时候,家人是你最好的归宿。

http://www.lryc.cn/news/393672.html

相关文章:

  • MySQL的安装和启动
  • Prometheus概述
  • 【SQL】什么是最左前缀原则/最左匹配原则
  • java项目配置logback日志
  • Python入门 2024/7/6
  • ChatGPT4深度解析:探索智能对话新境界
  • 触底加载的两种思路(以vue3前端和nodejs后端为例)
  • tobias实现支付宝支付
  • 【音视频 | RTSP】RTSP协议详解 及 抓包例子解析(详细而不赘述)
  • SQL Server 2022 中的 Tempdb 性能改进非常显著
  • C++ Lambda表达式第二篇, Lambda表达式
  • Linux系统的介绍和常用命令
  • IDEA安装IDE Eval Reset插件,30天自动续期,无限激活
  • 【C++】初步认识C++
  • 【Python数据分析与可视化】:使用【Matplotlib】实现销售数据的全面分析 ——【Matplotlib】数模学习
  • Docker加速器配置指南:提升镜像下载速度的秘诀 加速安装Mysql Redis ES
  • 32单片机,C语言与汇编联合编译的几种方式
  • 基于GWO-CNN-BiLSTM数据回归预测(多输入单输出)-灰狼优化算法优化CNN-BiLSTM
  • 自动控制:反馈控制
  • sqlite 数据库 介绍
  • 【机器学习】机器学习重塑广告营销:精准触达,高效转化的未来之路
  • 常见的Java运行时异常
  • CANoe的capl调用Qt制作的dll
  • 论如何搭建属于自己的服务器?
  • 【C++ OpenCV】机器视觉-二值图像和灰度图像的膨胀、腐蚀、开运算、闭运算
  • STMF4学习笔记RTC(天空星)
  • vue数组变化的侦测***
  • k8s-第十节-Ingress
  • webrtc gcc详解
  • Linux多进程和多线程(七)进程间通信-信号量