Oracle数据库之SQL基础和分支循环
一、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基础和分支循环的更多相关文章
- Oracle数据库之SQL基础(一)
主要内容:用户与表空间:表与约束:查询语句. 一.概述 Oracle安装:访问官网,下载 二.用户与表空间 在安装Oracle时在开始菜单里可以用sql puls登录oracle. ★1.系统用户 s ...
- Oracle数据库之SQL基础(二)
一.约束 ❤ 1.约束概述 约束作用: (1)定义规则 (2)确保完整性:包括数据的精确性.可靠性.以确保数据不会出错,或者尽量减少出错. 约束的类型: (1)非空约束 (2)主键约束 (3)外键约束 ...
- Oracle数据库—— PL/SQL基础编程
一.涉及内容 1. 掌握PL/SQL程序块的结构,理解并熟悉各种变量的应用. 二.具体操作 (一)使用system用户登录SQL*PLUS,使用SQL语句创建用户:u_你的姓名首字母(例如:u_zs) ...
- 数据库学习---SQL基础(二)
数据库学习---SQL基础(一) 数据库学习---SQL基础(二) 数据库学习---SQL基础(三) 上篇复习的sql的增删改查,and ,or ,>=, <=,!=等逻辑运算符,还有in ...
- 数据库学习---SQL基础(一)
数据库学习---SQL基础(一) 数据库学习---SQL基础(二) 数据库学习---SQL基础(三) SQL(struct query language)结构化查询语言:一种专门与数据库通信的语言, ...
- oracle数据库元数据SQL查询
oracle数据库经典SQL查询 .查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from ...
- 搜索表字段包含某字符串的SQL和监控Oracle数据库的SQL。
1.第一个SQL 背景:需要找到SQL Server数据库中,包含某个字符串的表,输出表和包含该字符串的列. )='=' --这里填要搜索的字符串 DECLARE @sql NVARCHAR(MAX) ...
- Oracle Database 11g : SQL 基础
简介 1:课程目标 2:课程 目标 3:Oracle Database 11g 以及相关产品概览 1:Oracle Database 11g :重点领域 2:Oracle Fusion Middlew ...
- Oracle数据库的sql语句性能优化
在应用系统开发初期,由于开发数据库数据比较少,对于查询sql语句,复杂试图的编写等体会不出sql语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目 ...
随机推荐
- 解决每次启动Office都出出现设置向导的问题
昨天不知道怎么地,每次打开Excel都会出现"正在配置Office"的设置向导,并且修复.重置用户均无法解决. 在网上搜索了一下,找到了一个解决方法:把"C:\Progr ...
- VS2010 MFC中 单独添加ODBC数据库记录集类(CRecordset)方法
基于VS2010 MFC的项目是之前建好的,后来需要添加数据库. 方法分享于此. 1. 打开自己的项目,项目->添加类. 2. 选MFC ODBC使用者,点右下角的添加. 3. 点数据源. / ...
- Android - 显示手机执行的Activity
显示手机执行的Activity 本文地址:http://blog.csdn.net/caroline_wendy 手机中,须要调试程序的界面,能够高速进行定位,使用Android开发工具ADB(And ...
- 左手系,右手系,row major, column major
http://www.cnblogs.com/minggoddess/p/3672863.html dx 左手系 row major ogl 右手系 column major 差了个 matrix ...
- 贴几个spark提交任务的小脚本
spark单个master节点的提交方式 spark-submit --master spark://hadoop-namenode-02:7077 \ --class com.dinpay.bdp. ...
- GSL 1.15 and 1.16 building with Visual Studio 2010 --FROM 4fire
http://4fire.wordpress.com/2012/03/18/gsl-1-15-building-with-visual-studio-2010/ Update 05/02/2014: ...
- pythonkeywordis与 ==的差别
pythonkeywordis与 ==的差别 近期在学习Python.总结一下小知识点. Python中的对象包括三要素:id.type.value 当中id用来唯一标识一个对象.type标识对象的类 ...
- IP地址 网段的划分
IP和子网掩码我们都知道,IP是由四段数字组成,在此,我们先来了解一下3类常用的IP A类IP段 0.0.0.0 到127.255.255.255 B类IP段 128.0.0.0 到191.255. ...
- scrapy之Logging使用
#coding:utf-8 __author__ = 'similarface' ###################### ##Logging的使用 ###################### ...
- InputFormat的认识
InputFormat 负责处理MR的输入部分. 有三个作用: 一.验证作业的输入是否规范. 二.把输入文件切分成InputSplit. 三.提供RecordReader 的实现类,把InputSpl ...