学习笔记:

##pl/sql编程语言

    * 简介:
        * pl/sql编程语言是对sql语言的扩展,使得sql语言具有过程化编程的特性。
        * pl/sql编程语言比一般的过程化编程语言,更加灵活高效。
        * pl/sql编程语言主要用来编写存储过程和存储函数等。

 * 声明方法

declare
begin
end;


--开启dbms_output输出
set serveroutput on
--声明方法
declare
i number(2) := 10;
s varchar2(10):= '小明';
ena emp.ename%type; --引用型变量
begin
dbms_output.put_line(i);
dbms_output.put_line(s);
select ename into ena from emp where empno = 7788;
dbms_output.put_line(ena);
end;
/

* pl/sql中的if判断
        * 声明方法

declare
begin
if then
elsif then
else
end if
end;

* 案例
        * 输入小于18的数字,输出未成年;输入大于18小于40的数字,输出中年人;输入大于40的数字,输出老年人

declare
i number(3) := ⅈ
begin
if i<18 then
dbms_output.put_line('Young people');
elsif i<40 then
dbms_output.put_line('Middle-aged person');
else
dbms_output.put_line('Aged');
end if;
end;

* pl/sql中的循环
        * 1. while循环
            * 声明方法

declare
begin
while loop
end loop;
end;

* 案例:输入1到10

declare
i number(2) := 1;
begin
while i<= 10 loop
dbms_output.put_line(i);
i := i+1;
end loop;
end;

* 2. exit循环(常用)
            * 声明方法

declare
begin
loop
exit when ;
end loop;
end;

* 案例:输入1到10

declare
i number(2) := 1;
begin
loop
exit when i>10;
dbms_output.put_line(i);
i := i+1;
end loop;
end;

* 3. loop循环
            * 声明方法

declare
begin
for i in 1..10 loop
end loop;
end;

* 案例:输入1到10

declare
i number(2) := 1;
begin
for i in 1..10 loop
dbms_output.put_line(i);
end loop;
end;

*注意:
            *三个循环结束皆为end loop;(end先行)

            * exit循环中exit when ; 后面有一个封号


            * 在循环loop开始时都不需要加封号


            * end结束一定有封号

* pl/sql中的游标
        * 概念:游标可以存放多个对象,多个记录。
        * 案例1:输出emp表中所有员工的姓名

declare
cursor c1 is select * from emp;
emprow emp%rowtype;
begin
open c1;
loop
fetch c1 into emprow;
exit when c1%notfound;
dbms_output.put_line(emprow.ename);
end loop;
close c1;
end;

 * 案例2:给指定部门员工涨100块工资(带参数的游标)

declare
cursor c2(eno emp.deptno%type)
is select empno from emp where deptno = eno;
en emp.empno%type;
begin
open c2(10);
loop
fetch c2 into en;
exit when c2%notfound;
update emp set sal=sal+100 where empno=en;
commit;
end loop;
close c2;
end;

谢谢观看!

Oracle的pl/sql编程语言的更多相关文章

  1. Oracle中PL/SQL简介、基本语法以及数据类型

    Oracle中PL/SQL简介.基本语法以及数据类型 一.PL/SQL简介. Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询和Oracle自身过程控 ...

  2. Oracle中PL/SQL的执行部分和各种流程控制

    Oracle中PL/SQL的执行部分和异常部分 一.PL/SQL的执行部分. 赋值语句. 赋值语句分两种,一种是定义一个变量,然后接收用户的IO赋值:另一种是通过SQL查询结果赋值. 用户赋值举例: ...

  3. pl/sql编程语言

    –pl/sql编程语言–pl/sql编程语言是对sql语言的扩展,是的sql语言具有过程化编程的特性–pl/sql编程语言比一般的过程化编程语言,更加灵活高效–pl/sql编程语言主要用来编写存储过程 ...

  4. 使用oracle 的 PL/Sql 定时执行一个存储过程

    CSDN日报20170322--<关于软件研发的一些体会总结> 同步博客至 CSDN ,让更多开发者看到你的文章 看微博技术大咖解析互联网应用架构实战 使用oracle 的 PL/Sql ...

  5. Oracle实践--PL/SQL表分区的基础

    PL/SQL基础入门之表分区 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言.是对SQL的扩展.支 ...

  6. Oracle之PL/SQL编程

    PL/SQL(Procedural Language/SQL,过程语言/SQL) 是结合了Oracel过程语言和结构化查询语言(SQL)的一种扩展语言. 优点: (1)PL/SQL具有编程语言的特点, ...

  7. Oracle的pl/sql变量类型

    pl/sql定义 sql是结构化查询语言.sql是不是一个编程语言?编程语言一般都能够声明变量,写条件判断,循环.sql不具备这些特征,所有sql不是一门编程语言.我们在实际的开发中,有这种需要,把s ...

  8. Oracle之PL/SQL Developer的下载与安装

    PL/SQL是什么? PL/SQL Developer是一个集成开发环境(以下简称PL/SQL),专门开发面向Oracle数据库的应用.PL/SQL也是一种程序语言,叫做过程化SQL语言(Proced ...

  9. Oracle之PL/SQL学习笔记

    自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家 ...

随机推荐

  1. react框架安装和使用

    react 其实react跟vue差不多, 区别:vue-  双向数据绑定, react  单向数据绑定. 中文文档:https://react.docschina.org/ 第一步:安装方式,不能直 ...

  2. vue 2.0 点击添加class,同时删除同级class

    <template> <div class="n-header"> <ul class="title-wrapper"> & ...

  3. 很详细很详细的gitLab使用具体流程

    gitLab详细流程 先说一下整个流程,就是先建立一个项目-----拆分里程碑-----拆分issue----项目开发-----项目总结---关闭里程碑 下面是每个步骤具体的步骤,这个比较适合那种纯新 ...

  4. Pandas 转换连接

    # 导入相关库 import numpy as np import pandas as pd 拼接 有两个 DataFrame,都存储了用户的一些信息,现在要拼接起来,组成一个 DataFrame. ...

  5. STL库学习笔记(一)——什么是STL?

    小明是一个很牛逼的程序员,在国际标准化组织工作. 他现在正在设计新一代的C++标准,标准中有一个待实现的函数:findMax(),这个函数要求使用者输入任何类型的数据,他都能找到最大的一个. 于是他想 ...

  6. Android 4.2 获取应用缓存接口变化

    PackageManager.getPackageSizeInfo(String packageName, IPackageStatsObserver observer)不可用,改为PackageMa ...

  7. 羞,Java 字符串拼接竟然有这么多姿势

    二哥,我今年大二,看你分享的<阿里巴巴 Java 开发手册>上有一段内容说:"循环体内,拼接字符串最好使用 StringBuilder 的 append 方法,而不是 + 号操作 ...

  8. LCD 调试总结

    (1) 液晶显示模式 并行:MCU接口.RGB接口.Vysnc接口 串行:SPI接口.MDDI接口 (2) 屏幕颜色 实质上即为色阶的概念.色阶是表示手机液晶显示屏亮度强弱的指数标准,也就是通常所说的 ...

  9. 130道ASP.NET面试题(一)

    1 .简述 private,protected,public,internal修饰符的访问权限 答: private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该类内部 ...

  10. ASP.NET Core 1.0: Using Entity Framework Core 1.0 - Transaction

    跟Entity Framework之前的版本不同,Class DbContext不再有AcceptAllChanges()方法. 使用Transaction需要使用DbContext中的Databas ...