当前位置:网站首页>pl/sql之神奇的嵌套与变量生命周期
pl/sql之神奇的嵌套与变量生命周期
2022-08-02 05:13:00 【赟文武】
pl/sql代码块的嵌套
pl/sql代码块为顺序执行,在嵌套了一个代码块后仍顺序执行,遇到return后,return下的语句不再执行直接结束外层子句
举个栗子吧:
--示例1
declare
a number:=1;
begin
declare
b number:=1;
begin
dbms_output.put_line('b的值:'||b);
end;
dbms_output.put_line('a的值:'||a);
end;
--示例2
declare
a number:=1;
begin
declare
b number:=1;
begin
return;
dbms_output.put_line('b的值:'||b);
end;
dbms_output.put_line('a的值:'||a);
end;
循环的嵌套
- for 循环
for循环套for循环大致执行思路如下:首先外部循环从第一个值开始,进行相关操作进入内部循环,内部循环走完一轮再到外部循环,以此类推外部循环再到第二个值…
--示例1
begin
for i in 1..3 loop
dbms_output.put('Hello ');
for s in 1..3 loop
dbms_output.put('World ');
end loop;
dbms_output.put_line(' ');
end loop;
end;
--示例二(遇到return后内外循环均停止)
begin
for i in 1..3 loop
dbms_output.put('Hello ');
for s in 1..3 loop
dbms_output.put('World ');
dbms_output.put_line(' ');
return;
end loop;
dbms_output.put_line(' ');
end loop;
end;
各个变量生命周期
生命周期用户可以理解为一个变量从产生到灭亡的过程
- declare处声明的变量生命周期
declare处变量在整个代码块结束(end后)释放
declare
a number:=50;
begin
dbms_output.put_line('外层a的值(嵌套子句执行前):'||a);
declare
a number:=10;
begin
dbms_output.put_line('内层a的值:'||a);
end;
dbms_output.put_line('外层a的值(嵌套子句执行后):'||a);
end;
- for…in之间的变量的生命周期
for…in 之间的变量在for循环结束后释放
declare处变量名与for循环中变量名可一致且互不干预
declare
i number;
begin
i:=9;
for i in 1..2 loop
dbms_output.put_line('局部变量(for)中i的值:'||i);
end loop;
dbms_output.put_line('全局变量(declare处)i的值:'||i);
end;
边栏推荐
猜你喜欢
ATM系统
Home NAS server (4) | MergerFS and SnapRaid data backup
关于web应用的目录结构
Use the browser's local storage to realize the function of remembering the user name
Meta公司内部项目-RaptorX:将Presto性能提升10倍
Google notes cut hidden plug-in installation impression
navicat connects to MySQL and reports an error: 1045 - Access denied for user 'root'@'localhost' (using password YES)
驱动页面性能优化的3个有效策略
Features and installation of non-relational database MongoDB
51 MCU Peripherals: Infrared Communication
随机推荐
JUC(二)原子类:CAS、乐观锁、Unsafe和原子类
Difference and analysis of CPU usage and load
51单片机外设篇:ADC
关于鸿蒙系统 JS UI 框架源码的分析
Features and installation of non-relational database MongoDB
Constructors, member variables, local variables
目标检测重要概念——IOU、感受野、空洞卷积、mAP
双重for循环案例(用js打印九九乘法表)
Alluxio为Presto赋能跨云的自助服务能力
回文串求解的进阶方法
goroutine (coroutine) in go language
Important concepts of target detection - IOU, receptive field, hole convolution, mAP
BGP实验(路由反射器,联邦,路由优化)
提高软件测试能力的方法有哪些?看完这篇文章让你提升一个档次
Introduction to Grid Layout
C语言小游戏——扫雷小游戏
21 Day Learning Challenge Schedule
Go language study notes - grpc serverclient protobuf Go language from scratch
Review: image saturation calculation formula and image signal-to-noise (PSNR) ratio calculation formula
整合ssm(一)