文档章节

常用Oracle语法

w
 wwlan
发布于 2017/09/04 14:43
字数 557
阅读 2
收藏 0

1. WHILE 语法:

WHILE  条件  LOOP
    ...
END  LOOP ;

例如:

复制代码

set serverout on
declare
  --定义初始值
  v_num number:=#
begin
  --编写循环结构和定义循环条件
  while v_num<10 loop
     dbms_output.put_line('第'||v_num||'次输出');
     --改变循环条件
    v_num:=v_num+1; 
  end loop;
end;
/

复制代码

2. DO - WHILE 循环语法:

复制代码

LOOP
    ...
EXIT
    ...
WHEN  条件
    ...
END  LOOP ;

复制代码

例如:

复制代码

set serverout on
declare
  v_num number:=&num;
begin
  loop
     v_num:=v_num+1;
     dbms_output.put_line('第'||v_num||'次!');

     exit when v_num>10;
  end loop ;
end;
/

复制代码

 

 

 

1. FOR 循环语法:

FOR  循环范围  LOOP
    ...
END  LOOP

例如:

复制代码

--循环输出10次
set serverout on
begin
   for i in 0..10 loop
      dbms_output.put_line('第'||i||'次!');
   end  loop;
end;
/
------------------------------------------
第0次!
第0次!
第1次!
第2次!
第3次!
第4次!
第5次!
第6次!
第7次!
第8次!
第9次!
第10次!
 

 

 

 

1. CASE 语法:

CASE 测试变量
    WHEN  目标1  THEN
        ...
    WHEN  目标2   THEN
        ...
END  CASE ;

例如:

复制代码

set serverout on
declare
  v_name varchar2(20):='&name';
begin
  case v_name
    when 'a' then
       dbms_output.put_line('输入的是a');
    when 'b' then
       dbms_output.put_line('输入的是b');
  end case;
end;
/

 

 

 

 

 

 

1. IF 语法

IF 表达式 THEN
    ...
END IF;

例如:

复制代码

set serverout on
declare
   v_name varchar2(20):='&name';
begin
   if v_name='kiki' then
      dbms_output.put_line('登录成功');
   end if;
end;
/
--------执行内容结果如下-------
输入 name 的值:  kiki
原值    2:    v_name varchar2(20):='&name';
新值    2:    v_name varchar2(20):='kiki';
登录成功

复制代码

2. IF .. ELSE 语法:

IF  条件表达式  THEN
  ...
ELSE
  ...
END IF;

例如:

复制代码

set serverout on
declare
   v_name student.sname%type:='&name';
begin
  if v_name='kiki' then 
     dbms_output.put_line('登录成功!');
  else
     dbms_output.put_line('登录失败');
  end if;
end;
/

--------执行内容结果如下-------
输入 name 的值:  kiki
原值    2:    v_name student.sname%type:='&name';
新值    2:    v_name student.sname%type:='kiki';
登录失败

复制代码

3. IF ... ELSIF ... ELSE 嵌套结构

复制代码

IF 条件表达式  THEN
    ...
ELSIF 条件表达式 THEN
    ...
ELSE
    ...
END  IF ;

复制代码

例如:

复制代码

--1.if-else结构
set serverput on  --打开oracle自带的输出方法dbms_output
declare --声明
   v_name varchar2(20):='&name'; --定义需要手动输入的变量
   v_password number(10):='&password';
begin --开始
   if v_name='kikiwen' and v_password=123 then --条件判断
      dbms_output.put_line('登录成功');--输出语句
   elsif v_name='kiki' and v_password=123 then
      dbms_output.put_line('登录' || v_name || '账号成功');
   else
      dbms_output.put_line('登录失败!'|| v_name || '账号或者密码不正确');
   end if;
end;--结束
/
--------执行内容结果如下-------
输入 name 的值:  kiki
原值    2:    v_name varchar2(20):='&name';
新值    2:    v_name varchar2(20):='kiki';
输入 password 的值:  123
原值    2:    v_name varchar2(20):='&password';
新值    2:    v_name varchar2(20):=123;
登录kiki账号成功

© 著作权归作者所有

共有 人打赏支持
w
粉丝 0
博文 15
码字总数 28434
作品 0
深圳
SAS学习笔记

SAS编程语言 学习一门语言重要的是打好语法基础,所以,从最基础的开始。 逻辑库是SAS编程语言的一个重要知识点,是数据步和过程步读取数据集或关系数据库中的表或者存储路径下对应文件的桥梁...

开拓者-2017
2015/12/24
69
2
将现有的SQL工作负载迁移至hadoop竟然如此简单!

想迁移现有的数据仓库到Hadoop平台?想在Hadoop上重用其他RDMBS的SQL技能?有何方案能帮助您解决这类问题,答案是IBM Big SQL。 Big SQL是IBM的SQL on Hadoop解决方案,它充分利用了IBM在RDB...

勿忘初心321
2016/08/25
40
0
最近想学习下web开发,制定学习路线,请大家帮忙看看

从08年毕业,在一家公司做web后台发开(struts+jdbc),做了差不多半年,公司项目组解散,就换到了另外一家公司搞winform开发,公司还算稳定,而且又在自己家这边,最近又想学习web开发,制定了...

wj2014
2014/06/14
765
5
Oracle遇到的一些问题.

1> 删除时遇到子表外键的问题 [Err] ORA-02292: integrity constraint (xxx.SYS_C0012081) violated - child record found -->xxx.SYS_C0012081表示约束id. 解决思路: 1,先找到这个约束ID对应......

leon_tan
2016/11/28
9
0
Oracle排序中NULL值处理的五种常用方法

1、缺省处理 Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前 2、使用nvl函数 nvl函数可以将输入参数为空时转换为一特定值,如 nvl(employeena...

GoYang
2012/11/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

简单谈一谈压力测试

最近,在做API的压力测试,趟了不少坑,然后呢,简要记录一下。 压测前需要准备的一些事 拿到API文档不要立马上手,先基准测试,就是执行一次接口测试,至少要压这个接口,要先熟悉一下他的参...

浮躁的码农
32分钟前
0
0
PHP 错误调查

一.定义:PHP错误是由PHP无法读懂执行的代码引起的错误。 二:错误日志 error log 1.在php.ini 里设置 log_errors = on, log文件位置 error_log=/tmp/php_errors.log 2.代码里设置ini_set('...

忙碌的小蜜蜂
35分钟前
0
0
knn算法

import numpy as np def CreateDateSet(): group = np.array([[1.0, 2.0], [1.2, 0.1], [0.1, 1.4], [0.3, 3.5]]) labels = ['A','A','B','B'] return group,labels coding:utf-8 from numpy......

南桥北木
35分钟前
0
0
自己手写一个 SpringMVC 框架

前端框架很多,但没有一个框架称霸,后端框架现在Spring已经完成大一统.所以学习Spring是Java程序员的必修课. Spring 框架对于 Java 后端程序员来说再熟悉不过了,以前只知道它用的反射实现的,...

别打我会飞
今天
2
0
01-《Apache Tomcat 9》之文件索引

《Apache Tomcat 9》是《看Apache官方文档学英语》的第一个专栏!让我们一起在看文档的过程中学英语,在学英语的过程中夯实技术! Documentation Index - 文件索引 Introduction - 介绍 This...

飞鱼说编程
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部