文档章节

常用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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

异步化,高并发大杀器

今天来聊聊如何让项目异步化的一些事。 在进入正文之前,顺便给大家推荐一个Java架构方面的交流学习群:698581634,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分...

Java大蜗牛
10分钟前
0
0
织梦dedecms安全设置

网站本身做好防范: 1、修改默认后台名。 打开网站根目录,找到[dede],这个文件夹就是后台的路径,可以随意修改,比如修改为[adminbuy],此时后台登陆的路径为:http://www.*****.com/admi...

雨季2014
11分钟前
0
0
完美Python入门基础知识点总结,看完你的Python就完全入门了!

Python标识符 在 Python 里,标识符有字母、数字、下划线组成。 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。 Python 中的标识符是区分大小写的。 以下划线...

糖宝lsh
17分钟前
0
0
Java关于前后台传输中文乱码以及Excel下载乱码解决

针对乱码,一般情况是前后台以及中间件编码格式不同导致.故需要保证编码格式相同即可. 1.前台页面格式指定,这里用的是jsp,故需要将pageEncoding指定为"UTF-8" 2.指定服务器编码格式,比如用的t...

勤奋的蚂蚁
19分钟前
0
0
Flutter组件 - Flexible

Flexible是一个控制Row、Column、Flex等子组件如何布局的组件。 Flexible组件可以使Row、Column、Flex等子组件在主轴方向有填充可用空间的能力(例如,Row在水平方向,Column在垂直方向),但是...

一箭落旄头
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部