PL/SQL块结构

server/2025/2/11 11:05:15/

目录

        一、声明部分(declare)

        二、执行部分(begin    end)

        三、异常处理部分 (Exception  end)

        四、代码示例 

 

PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库提供的一种过程化编程语言,它结合了SQL的查询、数据操作和控制结构,以及PL/SQL特有的过程化编程特性。PL/SQL块是PL/SQL编程的基本单元。

块结构通常包括三个部分: 声明部分、执行部分和异常处理部分。

 一、声明部分(declare)

 主要作用

1.申明块中将要使用的变量,数据类型,游标(cursor)以及局部的存储过程和函数。

2.声明部分的所有内容在pl/sql块执行之前进行初始化,但在执行部分和异常处理部分都可以使用这些声明。 (变量的作用域是从它被声明的位置开始,直到包含它的块的结束。在声明之前的代码中,由于变量还未被声明,因此无法使用。)

 二、执行部分(begin    end)

 主要作用

1.执行部分是块的核心,包含了过程及SQL语句(sql语句和pl/sql语句),即程序的主要部分。

 2.在此部分,可以执行各种数据操作,(如增删改查),调用过程函数,以及进行逻辑判断和循环控制等。

 3.执行部分不能省略,且必须位于声明部分和异常处理部分之间。(如果两个都存在的话)

三、异常处理部分 (Exception  end)

主要作用

1.处理块在执行过程中可能遇到的错误或者异常情况。 

2.当执行部分的代码发生异常时,程序会跳转到异常处理部分,根据异常的类型执行相应的处理逻辑 。

 3.异常处理部分可以包含多个异常处理器(Exception Handller),每个异常处理器都针对一种特定的异常类型进行处理。(我的理解就是和Java异常处理机制差不多)

四、代码示例
sql">declare  --声明部分
v_name varchar2(10); --语法:变量名+数据类型  
/*多个变量用分号隔开;变量名必须以字母开头,可以包含字母,下划线,美元符号,井号,但不包括空格和其他特殊字符。(关键字,以及语句不区分大小写,但是变量名区分);
*/
v_date date :=sysdate;--可以申明并初始化变量;begin   --执行部分
select name into v_name from stutent;  --执行sql语句,将查询结果赋值等操作
dbms_output.put_line('名字为:'||v_name);expection 
when    then  --当…捕获异常;end

(作者是初学者,记录一下语法规范,方便学习。) 

1.注释有两种,单行 --和多行/*...*/;

2.变量名定义规则 :字母开头,后续是字符,下划线,$,#,但不包括空格,以及其他字符。


http://www.ppmy.cn/server/166734.html

相关文章

Qt QSettings用法

一、概述 QSettings类是Qt框架中的一个重要类,它主要用于存储和访问应用程序的设置和配置。 二、QSettings的构造方式 1、基于组织名和程序名的构造方式(主要用于Windows注册表) 1、explicit QSettings(const QString &organization,c…

c++ haru生成pdf输出饼图

#define PI 3.14159265358979323846 // 绘制饼图的函数 void draw_pie_chart(HPDF_Doc pdf, HPDF_Page page, float *data, int data_count, float x, float y, float radius) { float total 0; int i; // 计算数据总和 for (i 0; i < data_count; i) { tot…

java毕业设计之建设路小学芙童币和芙童印章管理系统源码(ssm+mysql)

项目简介 建设路小学芙童币和芙童印章管理系统实现了以下功能&#xff1a; 建设路小学芙童币和芙童印章管理系统的主要使用者管理员具有系统最高权限&#xff0c;通过授权登录后进行管理&#xff0c;包括修改个人密码、用户信息的管理。用户包括学生用户、老师用户、管理员用…

【JavaEE进阶】Spring IoC

目录​​​​​​​ &#x1f334;序言 &#x1f384;Spring是什么&#xff1f; &#x1f6a9;什么是容器&#xff1f; &#x1f6a9;什么是IoC&#xff1f; &#x1f333;IoC介绍 &#x1f6a9;传统程序开发 &#x1f6a9;问题分析 &#x1f6a9;解决方案 &#x1f6…

DeepSeek 关联 Word 使用教程:解锁办公新效率

在当今数字化办公时代&#xff0c;将强大的人工智能模型与常用办公软件相结合&#xff0c;能显著提升工作效率。DeepSeek 作为一款先进的人工智能工具&#xff0c;若能与广泛使用的办公软件 Word 实现关联&#xff0c;可在文档撰写、编辑、内容优化等诸多方面为用户带来极大便利…

Spring基于文心一言API使用的大模型

有时做项目我们可能会遇到要在项目中对接AI大模型 本篇文章是对使用文心一言大模型的使用总结 前置任务 在百度智能云开放平台中注册成为开发者 百度智能云开放平台 进入百度智能云官网进行登录&#xff0c;点击立即体验 点击千帆大模型平台 向下滑动&#xff0c;进入到模型…

优惠券平台(一):基于责任链模式创建优惠券模板

前景概要 系统的主要实现是优惠券的相关业务&#xff0c;所以对于用户管理的实现我们简单用拦截器在触发接口前创建一个单一用户。 // 用户属于非核心功能&#xff0c;这里先通过模拟的形式代替。后续如果需要后管展示&#xff0c;会重构该代码 UserInfoDTO userInfoDTO new…

【医院管理会计专题】2.管理会计:医院运营管理的隐形引擎

医院成本核算、绩效管理、运营统计、内部控制、管理会计专题索引 一、引言 在当今医疗行业竞争日益激烈、运营成本不断攀升的背景下,医院运营管理面临着前所未有的挑战。管理会计作为一种综合性的财务管理工具,在医院运营管理中扮演着举足轻重的角色。它不仅能够为医院管理…