一、SQL基础语言

DECLARE --声明
a varchar2(10); --变量或对象 BEGIN
a:='小明';-- := 表示给一个变量赋值
dbms_output.put_line(a); --输出用 dbms_output.put_line() END;

二、分支

DECLARE
--声明
A NUMBER(10);
B NUMBER(10); BEGIN A := 2;
B := 3; IF A < B THEN
DBMS_OUTPUT.PUT_LINE('a小于b');
ELSIF A > B THEN --注意 ELSIF 的写法
DBMS_OUTPUT.PUT_LINE('a大于b');
ELSE
DBMS_OUTPUT.PUT_LINE('a等于b');
END IF; END;

三、循环

第一种:(loop循环)

DECLARE

  M NUMBER(5);

BEGIN
M := 5; LOOP
EXIT WHEN M < 0;
DBMS_OUTPUT.PUT_LINE(M);
M := M - 1;
END LOOP; END; 执行结果:


第二种:(while 循环)

DECLARE

  M NUMBER(5);

BEGIN
M := 5; WHILE M > 0 LOOP --while 循环
DBMS_OUTPUT.PUT_LINE(M);
M := M - 1;
END LOOP; END;
执行结果:


第三种:(for循环)

DECLARE

BEGIN

  FOR N IN 1 .. 5 LOOP
--for 循环只能遍历像1~5这样的有规律的数字
DBMS_OUTPUT.PUT_LINE(N);
END LOOP; END;
执行结果:


四、处理异常

DECLARE
M NUMBER(10);
SNAME VARCHAR2(10); BEGIN M := 5; SELECT S.NAME INTO SNAME FROM Z_STUDENT S WHERE S.ID = M;
DBMS_OUTPUT.PUT_LINE('查询结果:' || SNAME); END; 执行结果:


然后抛出异常  exception

DECLARE
M NUMBER(10);
SNAME VARCHAR2(10); BEGIN M := 50; --改个不存在的值 SELECT S.NAME INTO SNAME FROM Z_STUDENT S WHERE S.ID = M;
DBMS_OUTPUT.PUT_LINE('查询结果:' || SNAME); EXCEPTION
--抛出异常
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('没有查询到数据'); END; 执行结果:


再举个例子:

DECLARE
--声明
A NUMBER(10);
B NUMBER(10);
NOZERO EXCEPTION; --定义nozero 为异常类型
BEGIN A := 2;
B := 0; IF A = 0 OR B = 0 THEN
RAISE NOZERO; --RAISE 抛出异常
END IF; IF A < B THEN
DBMS_OUTPUT.PUT_LINE('a小于b');
ELSIF A > B THEN
--注意 ELSIF 的写法
DBMS_OUTPUT.PUT_LINE('a大于b');
ELSE
DBMS_OUTPUT.PUT_LINE('a等于b');
END IF; EXCEPTION
WHEN NOZERO THEN
DBMS_OUTPUT.PUT_LINE('a和b都不能为0!');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('其他异常!'); END; 执行结果为:


Oracle数据库之SQL基础和分支循环的更多相关文章

  1. Oracle数据库之SQL基础(一)

    主要内容:用户与表空间:表与约束:查询语句. 一.概述 Oracle安装:访问官网,下载 二.用户与表空间 在安装Oracle时在开始菜单里可以用sql puls登录oracle. ★1.系统用户 s ...

  2. Oracle数据库之SQL基础(二)

    一.约束 ❤ 1.约束概述 约束作用: (1)定义规则 (2)确保完整性:包括数据的精确性.可靠性.以确保数据不会出错,或者尽量减少出错. 约束的类型: (1)非空约束 (2)主键约束 (3)外键约束 ...

  3. Oracle数据库—— PL/SQL基础编程

    一.涉及内容 1. 掌握PL/SQL程序块的结构,理解并熟悉各种变量的应用. 二.具体操作 (一)使用system用户登录SQL*PLUS,使用SQL语句创建用户:u_你的姓名首字母(例如:u_zs) ...

  4. 数据库学习---SQL基础(二)

    数据库学习---SQL基础(一) 数据库学习---SQL基础(二) 数据库学习---SQL基础(三) 上篇复习的sql的增删改查,and ,or ,>=, <=,!=等逻辑运算符,还有in ...

  5. 数据库学习---SQL基础(一)

     数据库学习---SQL基础(一) 数据库学习---SQL基础(二) 数据库学习---SQL基础(三) SQL(struct query language)结构化查询语言:一种专门与数据库通信的语言, ...

  6. oracle数据库元数据SQL查询

    oracle数据库经典SQL查询 .查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from ...

  7. 搜索表字段包含某字符串的SQL和监控Oracle数据库的SQL。

    1.第一个SQL 背景:需要找到SQL Server数据库中,包含某个字符串的表,输出表和包含该字符串的列. )='=' --这里填要搜索的字符串 DECLARE @sql NVARCHAR(MAX) ...

  8. Oracle Database 11g : SQL 基础

    简介 1:课程目标 2:课程 目标 3:Oracle Database 11g 以及相关产品概览 1:Oracle Database 11g :重点领域 2:Oracle Fusion Middlew ...

  9. Oracle数据库的sql语句性能优化

    在应用系统开发初期,由于开发数据库数据比较少,对于查询sql语句,复杂试图的编写等体会不出sql语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目 ...

随机推荐

  1. 苹果开发者:Siri未开放API 有些让人失望

    北京时间6月12日消息,据国外媒体报道,苹果公司在WWDC大会上展示了新版iOS和OS X系统,但由于未开放Siri API,一些苹果开发者还是有些失望. Siri API可以让开发者在自己的应用中整 ...

  2. yield理解

    http://www.jianshu.com/p/d09778f4e055 从yield处返回一个值,下次从yield后开始执行

  3. mac 安装 gensim包出错

    安装时需要卸载scipy,结果显示 permission之类 加sudo也不行, 必须 得先disable 掉mac的SIP ,方法是重启系统 ,按住command+r ,进行recovers模式,然 ...

  4. Android - 显示手机执行的Activity

    显示手机执行的Activity 本文地址:http://blog.csdn.net/caroline_wendy 手机中,须要调试程序的界面,能够高速进行定位,使用Android开发工具ADB(And ...

  5. MAT使用及OOM分析

    知识及工具推荐 1.Android资源监控工具 2.Android内存管理机制 http://blog.csdn.net/hexieshangwang/article/details/47188987

  6. Python 第三方 http 库-Requests 学习

    Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTT ...

  7. js传递默认形参

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  8. python判断字符串类型

    s为字符串 s.isalnum() 所有字符都是数字或者字母,为真返回 Ture,否则返回 False.(重点,这是字母数字一起判断的!!) s.isalpha() 所有字符都是字母,为真返回 Tur ...

  9. STL源代码剖析 容器 stl_vector.h

    本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie vector --------------------------------------- ...

  10. View的滚动原理简单解析

    一直对View的滚动了解的不深,说明确了吧也能说出个所以然来,所以我就花了点时间做了一个小小的总结,言归正传,view的滑动分为下面三种: 1)View本身不滚动,指滚动View的内容,这也是View ...