PL/SQL编程的简单学习
PL/SQL简单学习
1.PL/SQL块的组成部分:
① 声明部分:该部分包含了变量和常量的定义,以及变量和常量的初始值定义,这部分由关键字declare开始,如果PL/SQL块中不需要声明变量或常量,该部分可以省略。
② 执行部分:执行部分是PL/SQL的执行指定部分,由关键字begin开始,关键字end结尾。
所有可执行的SQL都放在这一部分,该部分不能省略,end关键字后面使用分号结尾。
③ 异常处理部分:该部分是可选的,该部分使用exception关键字将可执行部分分为两个部分,
一部分是正常运行的程序,一旦出现异常就跳转到异常部分执行。
2.PL/SQL中符号的声明:
① := → 赋值运算符;
-- → 单行注释;
.. → 范围操作符;eg.1..5 → 表示1到5
|| → 字符串连接 ;
/* */ → 多行注释;
② 算术运算符: + , - , * , / , **(求幂运算,eg. 3**2=9)
③ 关系运算符: > , < , >= , <= , <> , !=
④ 逻辑运算符: and , or , not
3.变量的声明:
eg.
declare name nvarchar2(20) := 'hanchao';
-- nvarchar(20)→数据类型;name→变量名;‘hanchao'变量的默认值;
begin
dbms_output.put_line(name);
-- 用于将变量输出到控制台上,如果没有输出可以通过set serveroutput on 设置输出。
end;
/ -- 用于执行上面的语句。
4.变量的赋值:
① :=
② select ... into 变量名 from ...
[注意事项:查询结果只能是一行,如果是多行或没有行,则会引发异常]
eg.
declare num1 int;
begin
num1 := 10;
select 1 into num1 from dual;
dbms_output.put_line(num1);
end;
/
5.声明常量:通过constant关键字来声明常量
declare pi constant float := 3.14;
r int := 4;
area float;
begin
area := pi * r * r;
dbms_output.put_line('area: ' || area);
end;
/
6.特殊数据类型:
① %ROWTYPE : 该数据类型表示一条记录,相当于java中的一个对象,可以通过 “.”(点)操作符访问记录中的属性。
eg.
declare emprow emp%rowtype ;-- emp为表名
begin
select * into emprow from emp where empno = 7934;
dbms_output.put_line(emprow.ename);
end;
/
②%TYPE : 引用某个变量或数据库的列作为数据类型来声明一个变量。
eg.
declare myname emp.ename%type; -- 以表emp的ename列为数据类型
begin
select ename into myname from emp where empno = 7934;
dbms_output.put_line(myname);
end;
/
7.条件分支语句:
declare value1 number(10) := 10;
begin
if value1 > 10 then
dbms_output.put_line(' > 10');
elsif value1 = 10 then
dbms_output.put_line(' = 10 ');
else
dbms_output.put_line('< 10') ;
end if;
end;
/
8.循环结构
①loop ... end loop 循环
eg1.
declare temp number(3) := 0;
total number(5) := 0;
begin
loop
temp := temp + 1;
total := total + temp;
if temp >= 100 then
exit;
end if;
end loop;
dbms_output.put_line('total: ' || to_char(total));
end;
/
eg2.
declare temp number(3) := 0;
total number(5) := 0;
begin
loop
temp := temp + 1;
total := total + temp;
exit when temp >= 100;
end loop;
dbms_output.put_line('total : ' || to_char(total));
end;
/
②while 循环
declare temp number(3) := 0;
total number(5) := 0;
begin
while temp < 100
loop
temp := temp + 1;
total := total + temp;
end loop;
dbms_output.put_line('total : ' || to_char(total));
end;
/
③for循环
declare temp number(3) := 0;
total number(5) := 0;
begin
for temp in 0..100
loop
total := total + temp;
end loop;
dbms_output.put_line(' total : '|| to_char(total));
end;
/
转载于:https://blog.51cto.com/hanchaohan/1340620
PL/SQL编程的简单学习相关推荐
- 视频教程-赵强老师:Oracle数据库从10g到11g(4)PL/SQL编程基础-Oracle
赵强老师:Oracle数据库从10g到11g(4)PL/SQL编程基础 毕业于清华大学,拥有超过13年的工作经验. Oracle认证讲师,拥有6年以上授课经验.精通Oracle数据库.中间(Weblo ...
- Oracle学习笔记(最重要的是PL/SQL编程)
一:Oracle认证,与其它数据库比较,安装 Oracle安装会自动的生成sys用户和system用户: (1) sys用户是超级用户,具有最高权限,具有sysdba角色,有create databa ...
- [强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)...
[强烈推荐]ORACLE PL/SQL编程详解之七: 程序包的创建与应用(聪明在于学习,天才在于积累!) --通过知识共享树立个人品牌. 继上七篇: [推荐]ORACLE P ...
- pl/sql编程基础
PL/SQL 1.过程.函数.触发器是pl/sql编写的 2.过程.函数.触发器是存放在oracle数据库中的 3.pl/sql是非常强大的过程化语言 4.过程.函数.触发器可以在java程序中调用 ...
- ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)
原文:ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) ORACLE PL/SQL编程之六: 把过程与函数说透(穷追猛打,把根儿都拔起!) 继上篇:ORACLE P ...
- [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)...
[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) 原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之 ...
- oracle PL/SQL编程基础
目录 1 PL/SQL介绍 1.1 PL/SQL基础结构 1.2 PL/SQL 注释 1.3 PL/SQL常量和变量 1.4条件语句 1.5 循环语句 过完节由于疫情公司没有进行上班,在收拾房屋的过程 ...
- Oracle 实验六:PL/SQL编程基础(1)
实验六:PL/SQL编程基础(1) 一.实验目的 1.熟悉掌握PL/SQL编程中的变量定义语句 2.熟悉掌握PL/SQL编程中的条件语句和循环语句等流程控制语句. 3.能熟练使用上述基本语句编写PL/ ...
- ORACLE PL/SQL编程
PL/SQL程序设计 什么是PL/SQL PL/SQL是 Procedure Language & Structured Query Language 的缩写.PL/SQL是对SQL语言存储过 ...
最新文章
- 16岁日本神童打造日版「健康码」,追踪用户行动数据抗击疫情
- JDK文档中关于Semaphore的正确使用以及使用场景
- SQL 与 ORACLE 的比较
- 箭头函数和普通函数有什么区别?
- 吴恩达机器学习作业 6.支持向量机
- Oracle virtual box 安装系统黑屏问题
- grpc+protobuf 的C++ service 实例解析
- 执行力 - 快速反应
- 常熟计算机专业工资多少,常熟学计算机,常熟学计算机哪里好,常熟学计算机一般工资能拿多少 - IT教育频道...
- java email 的格式_使用Java将电子邮件转换为原始格式
- sfc流程图怎么画_如何使用gxworks2创建简单的顺序功能图sfc
- 百度(高德、GG歌)离线地图开发环境搭建【离线地图开发源代码】
- 06-Docker数据管理实践
- c语言考试题库大一下学期基础,c语言考试题(全国c语言二级考试题库)
- Java高性能的编程技巧
- 订单减库存 java_高并发场景-订单库存防止超卖
- 吃完饭后,到底是躺着、坐着、站着还是运动?看完终于不纠结了
- 从初级到资深:程序员的职业生涯思考与可迁移技能培养
- 苹果圆圈怎么设置_苹果手机白色圆圈怎么弄
- Java模拟项目开发(快递柜)