Oracle修炼路程--PL/SQL基础语法

微信小店推客分销系统源码获取与自研开发全攻略(2025年最新版) 源码选择建议快速试错:选用开源项目(如启航系统),3天可上线基础功能长期布局:购买商业源码授权,重点定制分佣规则与UI交互完全自研:适合年GMV过亿的大型企业,需前置投入风控与合规设计行动清单注册微信开放平台账号,完成视频号机构认证下载开源项目代码,部署本地测试环境联系三家源码供应商,获取合规性审计报告设计三级分佣比例表,通过法律顾问合规审查通过以上路径,可高效构建合规、稳定、高转化的微信小店推客分销系统,抢占2025年视频号电商红利。 阅读详情

常用工具:
1 plsql developer
2 oracle sql developer

PL/SQL是一门为扩展Oracle中SQL功能的编程语言,

常见符号:
|| 字符串连接符
:= 赋值运算符
% 属性索引 使用%type可以使变量获得与字段相同的数据类型
= 相等运算符

1) 变量


SET SERVEROUTPUT ON;
declare
 phello varchar2(200)  :='HELLO WORLD!';--变量定义
begin
    DBMS_OUTPUT.PUT_LINE(phello);--输出
end;

如图java一样,变量可分为局部变量和全局变量;下面举例说明

SET SERVEROUTPUT ON;
declare
number1 varchar2(50) :=12;
number2 varchar2(50) :=23;
begin
DBMS_OUTPUT.PUT_LINE('number1 的数值是:'||number1);
DBMS_OUTPUT.PUT_LINE('number2 的数值是:'||number2);
declare
number3 varchar2(50) :=15;
number4 varchar2(50) :=69;
begin
DBMS_OUTPUT.PUT_LINE('number3 的数值是:'||number3);
DBMS_OUTPUT.PUT_LINE('number4 的数值是:'||number4);
end;
end;

set serveroutput on;
declare
pname varchar2(10);
psex char(3) :='男';

2) 常量

SET SERVEROUTPUT ON;
DECLARE
PI NUMBER;

BEGIN
PI:=3.14;
DBMS_OUTPUT.put_line(PI);
END;

3) SELECT INTO的用法

begin
select ename into pname from emp where empno=7499;
--DBMS_OUTPUT.PUT(psex);
dbms_output.put_line(pname);
end;

--记录型变量:
    --emp_info  emp%rowtype;读取一行数据;

set serveroutput on;
declare
    emp_info  emp%rowtype;
begin

   select * into emp_info from emp where empno=7499;
   dbms_output.put_line(emp_info.ename||'....'||emp_info.empno);

end;

4) 条件控制语句

a)
if 条件 then…;
end if;

b)
if 条件 then…;
else…
end if;

c)
if 条件 then…;
elsif 条件 then…;
else…
end if;

set SERVEROUTPUT ON;
declare
   pnum number:=5;
begin
   if pnum=1 then DBMS_OUTPUT.PUT_LINE('111');
   elsif pnum=3 then DBMS_OUTPUT.PUT_LINE('222');
   else DBMS_OUTPUT.PUT_LINE('错误');
   end if;
end;

SET SERVEROUTPUT ON;
DECLARE
NUM NUMBER :=50;
BEGIN
IF NUM=10 THEN DBMS_OUTPUT.PUT_LINE('the value is 10');
elsif NUM=20 THEN DBMS_OUTPUT.PUT_LINE('the value is 20');
elsif NUM=30 THEN DBMS_OUTPUT.PUT_LINE('the value is 30');
elsif NUM=40 THEN DBMS_OUTPUT.PUT_LINE('the value is 40');
else DBMS_OUTPUT.PUT_LINE('the value is 50');
end if;

END;

b) case 结构

基本结构:
case。。。
when … then…;
when…then…;
else…;
end case;

declare
  score number :=90;
begin
    case score
    when '90' then dbms_output.put_line('The SCORE is A');
    when '80' then dbms_output.put_line('The SCORE is B');
    else dbms_output.put_line('The SCORE is C');
    end case;

end;

5) 循环控制语句
a)
while 条件
loop
…
end loop;

b)
loop
…
exit when (i>5,这是退出条件);
end loop;

```sql
set SERVEROUTPUT ON;
declare
pnum number :=1;
psum number :=0;

begin

loop
    exit when pnum>5;
psum :=psum+pnum;
pnum :=pnum+1;
end loop;
dbms_output.put_line(psum);
end;

c)
for i in 1…10
loop
end loop;

declare
begin
for x in 1..5
loop
dbms_output.put_line(x);
end loop;

end;
Eplan2022 复制已有的宏文件生成新的原理图宏文件 Eplan2022 新建原理图宏文件 阅读详情

相关推荐

Jira Software 8.19.0

通过 Docker Compose 部署 Jira 8.19.0 能够极大地简化运维复杂度。数据库版本匹配(8.x 配 Postgres 11)。健康检查(避免启动竞态条件)。数据持久化(挂载 volume)。完成上述步骤后,你就拥有了一套完全由自己掌控数据的项目管理系统。记得定期备份/data/jira目录!

qq_43180307的博客 964

Oracle修炼路程--PL/SQL之光标的使用

概念: 光标又名游标,是一个PL/SQL结构,利用光标可以命名这些工作区,并通过光标访问工作区中的信息。 语法: cursor 光标名(参数列表) is select。。。 属性: %isopen 判断光标是否打开,所以第一步打开光标; %rowcount 判断光标已经获取数据的行数; %found ...

Python_Newer的博客 240

STM32 RTC_WaitForSynchro()死循环问题分析与LSI时钟优化实践

本文深入分析了STM32使用LSI时钟源时,调用RTC_WaitForSynchro()函数陷入死循环的根本原因。问题核心在于RTC时钟域未正确使能,导致硬件同步标志RSF无法置位。文章提供了通过显式调用RCC_RTCCLKCmd(ENABLE)函数启用RTC时钟总开关的解决方案,并分享了编写健壮RTC/BKP初始化代码、增加超时机制等最佳实践,确保系统稳定运行。

weixin_29185493的博客 512

Oracle修炼路程--PL/SQL之例外

概念: 一种PL/SQL标识符,它用于处理PL/SQL程序的运行错误。 类型 一 系统例外: 1 预定义例外:用于处理常见的Oracle错误 2 非预定义例外:用于处理预定义例外所不能处理的Oracle错误 no_data_found: 没有找到数据,报错; too_many_rows:行数太多,报错; zero_divide:被0整除,报错; values_errors: 算术或者转换错误;...

Python_Newer的博客 229

ISP-全局色调映射(GTM)算法简单实现

色调映射算法,色彩空间转换LAB

notgoodenouf的博客 2243

Mission Planner连接Autopilot保姆级教程:从USB到无线全搞定

本文提供Mission Planner连接Autopilot的全面指南,涵盖USB直连、无线数传、蓝牙适配等多种连接方案。详细讲解驱动安装、波特率匹配、性能优化等关键步骤,并分享多链路冗余配置与故障转移的高阶技巧,助你快速解决连接问题。

weixin_28455801的博客 380

Oracle修炼路程--存储过程/存储函数

一 存储过程 1 概念: 一条或多条SQL语句的集合; 当对数据库进行一系列的操作时,利用存储过程可将复杂的操作封装成一个代码块,以便重复使用。如同java中的方法,调用即可; 2 创建语法: create or replace procedure 过程名(参数列表) as PL/SQL语句; 3 具体语法: 1) 无参数的存储过程 create or replace procedur...

Python_Newer的博客 229

YOLO26改进105:全网首发--使用BiFPN改进特征金字塔网络

YOLOv6 v3.0在目标检测领域实现重大突破,通过改进网络架构和训练方案显著提升性能。该版本在COCO数据集上展现出优越表现:YOLOv6-N达到37.5% AP/1187 FPS,YOLOv6-S实现45.0% AP/484 FPS,均超越同类检测器。大模型YOLOv6-M/L分别达到50.0%/52.8% AP,L6版本更创下实时检测新纪录。关键技术包括RepVGGBlock、BiFusion等新型模块,通过多分支融合和高效重参数化设计提升性能。研究团队已验证各改进模块有效性,代码已开源。

AIcurator的博客 95

Oracle修炼路程--查询习题

第一题 :查询所有员工的年工资、所在部门的名称,按年薪从低往高排序; SQL> select (sal*12+nvl(comm,0)) 年工资,d.dname 部门名称 from emp e,dept d where e.deptno=d.deptno order by 年工资 asc; 年工资 部门名称 ---------- -------------- 14400 R...

Python_Newer的博客 695

Android系统开发面试指南:系统Launcher岗位解析

本文针对上海礼聪Android系统开发岗位(侧重系统Launcher、充电/电池/USB底层开发)提供面试指南。内容涵盖应用开发(启动流程优化)、系统底层(充电状态机、USBOTG)、编程能力(线程安全LRU实现)、问题排查(ANR分析)及沟通协作等核心考点。通过5类典型问题及技术深度解析,帮助候选人系统准备,重点考察Framework源码理解、系统调试能力和工程思维。建议结合PowerManagerService等模块源码和systrace工具进行实践准备,同时注重技术表达与协作能力的展现。

郑伟强dev的专栏 935

YOLOv11魔改高效涨点 | 注意力篇 | SimAM注意力:基于神经科学的 3D 注意力机制,三维权重的暴力美学,无参数也能暴力涨点?代码极简,彻底疯狂!!!

在本文中,我们为卷积神经网络(ConvNets)提出了一个概念简单但非常有效的注意力模块。与现有的通道注意力(Channel-wise)和空间注意力(Spatial-wise)模块不同,我们的模块在不向原始网络添加参数的情况下,推断出层中特征图的 3D 注意力权重。具体来说,我们基于一些知名的神经科学理论,提出优化一个能量函数来寻找每个神经元的重要性。我们进一步推导出了该能量函数的快速闭式解,并表明该解可以用不到十行代码实现。

猫天意的博客 249

Oracle修炼路程--分页查询

一 TOP-N问题 --取出工资最高的5五名员工信息; --第一步:首选对员工信息按照sal进行降序; SQL> select *from emp order by sal desc; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- -...

Python_Newer的博客 419

【YOLOv8改进-损失函数】 YOLOv8自带损失函数CIoU / DIoU / GIoU 详解,以及如何切换损失函数

在介绍YOLOv8中的各种Iou之前,我们先来了解了解目标检测中的损失函数。目标检测模型通常包含两类损失函数:类别损失(分类)和位置损失(回归)。这两类损失函数用于检测模型的最后一部分,根据模型的输出(类别和位置)以及实际标注框(类别和位置),分别计算类别损失和位置损失。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 5191

Oracle修炼路程--powerdesigner和oracle

1 环境 Powerdesigner 16.7(64位) Oracle 11g(64位) 2 配置数据源 安装好powerdesigner之后,做E-R图; 如图,物理模型:关系型须子表指向父表。 3 连接数据 1)配置数据源 开始-》搜索“数据源”-》接下来如下图: 到此,数据源配置完毕; 3 pb连接oracle 快捷键:ctrl+g,如图: 点击“确定”之后,即可将表格导入到数据库之中; 4 逆向生成 现在将数据库中的表格,导入到pd中: 填写好账号密码即可连接数据库,然后

Python_Newer的博客 354

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Oracle修炼路程--触发器

概念: 与表相关联的PLSQL程序,当执行DML(增删改)自动执行触发器; 创建语法: create or replace trigger 触发器名 before|after—在DML之前或者之后; delete|insert|update [of 列名]–DML语句 on 表名----操作某个表 for each row----对某行数据进行操作 。。。。。plsql代码 无论修改多少行,触发器...

Python_Newer的博客 351

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

Oracle修炼路程--六种约束

约束: 约束是数据库用来确保数据满足业务规则的手段。具体需要根据业务需求进行相应设置。 常见约束分类: 检查约束(Check):可限制条件,如name>4 唯一约束(Unique):id:1 2 3 4 5 主键约束(Primary key):类似唯一约束 外键约束(Foreign key):两张表关联 非空约束(Not null):不能为空 默认约束(Default):默认某值 约束命名规...

Python_Newer的博客 316

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Oracle修炼路程--视图

视图概念: 视图属于数据库对象(包括表、视图、序列、索引、同义词、触发器)之一, 视图是一个虚表,建立在表的基础之上,可以来自单个表或者多个表。 视图创建 创建视图的语法: create view myview as select 。。。from。。。emp with check option; --举例创建视图myview SQL> create view myview as select...

Python_Newer的博客 290

Oracle修炼路程--数据字典

概念: 数据字典是oracle数据库最重要的组成部分;它是由表和视图组成,记录了数据库的系统信息;数据字典的所有者为sys用户;用户只能在数据字典上执行查询操作,而其维护和修改是由系统自动完成的! oracle数据字典通常是在创建和安装数据库时被创建的,是oracle系统工作的基础。没有数据字典的支持,oracle数据库系统就不能进行任何工作。 分类 1 静态数据字典表 2 静态数据字典视图 3 ...

Python_Newer的博客 260

Oracle修炼路程--日期函数及转换函数

一 日期函数 a) sysdate:获取当前时间 SQL> select sysdate from dual; SYSDATE -------------- 13-4月 -20 SQL> select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; SYSDATE TO_CHAR(SYSD...

Python_Newer的博客 257

Oracle修炼路程--伪列rowid及rownum

**伪列概念:**类似于表中的列,但是不存在任何表中,可以查询,不可增加、修改或者删除。 一 rownum ronum: 1 逻辑伪列:比如1 2 3 4 5 6 。。 SQL> select rownum,e.* from emp e; ROWNUM EMPNO ENAME JOB MGR HIREDATE ...

Python_Newer的博客 249

Oracle修炼路程--事务操作以及隔离级别

事务概念 作为单个逻辑工作单元执行的一系列操作。 比如张三向李四转账1000,那么张三钱数-1000,而李四+1000; 事务特性:ACID Atomicity原子性:要么都成功,要么都失败; Consistency一致性:事务执行前后,总量保持一致; Isolation隔离性:各个事务并发执行时,彼此独立; Durability持久性:持久化操作。 事务的生命周期: MySQL:自动提交; Or...

Python_Newer的博客 233

Oracle修炼路程--闪回技术

oracle–闪回操作 **闪回概念:**当发生逻辑错误时,从闪回恢复区中取出在发生逻辑错误之前的数据,并进行恢复。 闪回作用: 1 撤销已经提交的事务; 2 恢复被删除的表格; 3 获取表上的历史记录信息; 闪回分类: 1 闪回表中的数据; 2 闪回删除的表; 3 闪回事务查询; 4 闪回数据库; 5 闪回归档日志; 下面阐述每一类闪回技术: 一 闪回表中的数据 实际上是将表中的数据快速恢...

Python_Newer的博客 230

MySQL 索引深入理解:B+ 树、二级索引、联合索引与查询优化

理解二级索引后,就可以理解回表了。SELECT *MySQL 的执行过程分为三个步骤。覆盖索引(Covering Index)并不是一种独立的索引类型,而是一种查询效果。SQL 查询需要的所有字段,都能够直接从某个索引中获得,不需要再访问聚簇索引获取其他字段。例如:因为user_id已经包含在二级索引中,所以 MySQL 可以直接返回结果。不需要回表。联合索引(Composite Index)是同时使用多个字段建立的索引。它的排序规则是:首先按照user_id排序。当user_id。

m0_64642997的博客 140

一篇文章讲清 MySQL 索引:聚簇索引、联合索引、回表与 EXPLAIN

以订单查询为例,拆解 InnoDB 聚簇索引与二级索引的存储和回表路径,解释联合索引的列序、覆盖与 ICP,再用 EXPLAIN 判断扫描、排序和优化器选择,给出可复现的排查方法。

qq_74421990的博客 290

MySQL 中 DISTINCT 与 GROUP BY 哪个效率更高?

DISTINCT与GROUP BY在纯去重场景下,MySQL 8.0 中执行计划通常一致,效率基本相同。老版本(8.0.13 之前)GROUP BY有隐式排序开销,DISTINCT往往更快。需要聚合或HAVING时,只能用GROUP BY。效率的真正决定因素是索引和执行计划,而不是这两个关键字本身。所以,与其问「哪个更快」,不如问「我的查询有没有走对索引」。

2601_96709915的博客 339

4. 关系型数据库-MySQL-Canal 进阶

Canal 是基于 MySQL binlog 的增量数据订阅工具,可实现数据库变更的实时捕获。它通过伪装从库订阅 binlog,无需业务代码侵入,支持缓存同步、搜索索引更新、数据异构、实时入仓及汇总宽表增量更新等场景。使用时需开启 ROW 格式 binlog,配置专用账号,并通过 canal-server 接收事件,下游消费者处理后确认。注意 binlog 保留期、正则过滤写法及全量初始化等关键点,避免数据丢失或误判。

princemilo的博客 149
上一篇: Oracle修炼路程--索引
下一篇: Oracle修炼路程--PL/SQL之光标的使用
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值