SQL强化(二) 在Oracle 中写代码
一 : 关于查询中的转换
-- 字符串转换 一 : decode 函数 转换
SELECT
DECODE (
PROTYPE.PRO_TYPE_DATE,
'L',
'长',
'm',
'短',
'默认值'
)
FROM
PROTYPE
-- 字符串转换 二 : case 转换
SELECT
T1.PRO_TYPE_ID,
T1.PRO_TYPE_NAME,
CASE T1.PRO_TYPE_DATE
WHEN 'S' THEN
'短'
WHEN 'L' THEN
'长'
ELSE
'默认值'
END AS text
FROM
PROTYPE t1

case when then 有点类似于java中的switch case
二 : 在Oracle 中写代码
1 ,什么是代码块
2 ,变量定义 declare
3 , 代码块开始 begin
4, 代码块结束 end
5 , 赋值 := / 通过表字段给变量赋值 into
declare 声明的意思 定义变量用的
begin 代表代码块开始
end 代表代码块结束
:= 给变量赋值
dbms_output.put_line('打印并换行')
dbms_output.put('打印不换行')
定义变量 a = 10 ,b = 10 并分别打印a和b
DECLARE A NUMBER (10) := 10 ; b NUMBER (10) ;
BEGIN
b := 100 ; dbms_output.put_line (A) ; dbms_output.put_line (b) ;
END ;
结果 :

if 条件 then 执行; end if;
DECLARE A NUMBER (10) := 10 ; b NUMBER (10) ;
BEGIN
b := 100 ;
IF b = 100 THEN
b := 13 ;
END
IF ; dbms_output.put_line (A) ; dbms_output.put_line (b) ;
END ;
输出结果 :

if 条件 then 执行; elsif 条件 then 执行; else 执行; end if;
DECLARE A NUMBER (10) := 10 ; b NUMBER (10) ;
BEGIN
b := 99 ;
IF b = 100 THEN
b := 13 ;
ELSIF b = 99 THEN
b := 16 ;
ELSE
b := 17 ;
END
IF ; dbms_output.put_line (A) ; dbms_output.put_line (b) ;
END ;
输出结果为 16

loop 循环 <<oneloop>> 定义循环名称,循环嵌套时必须要定义,单个loop循环可以不需要 exit 循环名(没有可以不写) when 跳出循环的条件
|| 字符串拼接 ,相当于Java中的+
DECLARE A NUMBER (10) := 10 ;
BEGIN
<< oneloop >> loop dbms_output.put_line ('打印' || 'a=' || A) ; A := A - 1 ; exit oneloop
WHEN A <= 0 ;
END loop ;
END ;
输出结果 :

SQL强化(二) 在Oracle 中写代码的更多相关文章
- FLASH CC 2015 CANVAS (二)html中写JS调用flash中的元件、函数、变量
注意 此贴 为个人边“开荒”边写,所以不保证就是最佳做法,也难免有错误! 正式教程会在后续开始更新 当你导出第一个canvas后,你会在保存fla的文件夹里 (每个项目默认位置)看到 如下文件,(请先 ...
- 判断一个数据是否存在于一个表中,Oracle中写自定义函数
create or replace function isExist(data in DataTypes) --DataTypes 为表中该数据的类型return Numberisv_flag num ...
- 同一个sql在不同的oracle中执行时间不一样
最近因为某些原因不得不重新配置服务器的环境,当然就是一些简单的程序运行环境,包括tomcat .oracle和其他的一些.原本觉得还蛮简单的东西,但是当我部署完成后在运行程序的过程中发现了一些隐性因数 ...
- 在myeclipse10.7.1中写代码有很多红x
代码没问题,但是很多代码前都有红x.在doc中执行都没有问题 jdk版本不对应 //第一步:菜单栏Window--Preferences--Java--Installed JREs--右边Add ...
- Winform 中写代码布局中遇到的控件遮盖问题
在winform中编程时,需要动态向主窗体中增加菜单栏和用户控件,菜单栏需要设置DockStyle为Top ,而设置用户控件的DockStyle为Fill,之后在加载的时候,出现了菜单栏遮盖用户控件的 ...
- ORACLE 中rownum和row_number()的使用区别(可指定取sql结果集的第几个数据)
这篇文章主要介绍了oracle中rownum和row_number()的使用方法以及区别和联系,十分的详细,有需要的小伙伴可以参考下. row_number()over(partition by ...
- Oracle中的DDL,DML,DCL总结
转自http://blog.csdn.net/w183705952/article/details/7354974 DML(Data Manipulation Language,数据操作语言):用于检 ...
- oracle中rownum和row_number()
row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内 ...
- Oracle中的数据字典技术及常用数据字典总结
一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等.当用户在对数据库中的数据进行 ...
随机推荐
- git push的用法
git push <远程仓库名> <本地分支名>:<远程分支名>
- g4e基础篇#1 什么是版本控制系统
g4e 是 Git for Enterprise Developer的简写,这个系列文章会统一使用g4e作为标识,便于大家查看和搜索. 章节目录 前言 1. 基础篇: 为什么要使用版本控制系统 Git ...
- vue 自定义指令directive
//自定义指令:directive 的传参--可以数据也可以是字符串 Vue.directive('scroll', function (binding) { window.addEventListe ...
- maven jar包冲三种解决方式
初次启动应用,一直包如下错误,起初怀疑引入pandora 版本冲突. Exception in thread "main" java.lang.NoSuchMethodError: ...
- 关于md5的使用方法
本周工作,学习中用到了,md5. 在我们需要用到md5密码的时候,可以使用: System.Web.Security.FormsAuthentication.HashPasswordForStorin ...
- C语言学生管理系统(增进版)
在原版上进行改进,主要改进的功能有. 1.利用atof:将字符串转换为浮点型: 利用atoi:将字符串转换为整型: 原文地址:http://www.cnblogs.com/sddai/p/577412 ...
- Java贪吃蛇感想
暑假敲代码的效率真的不高呀,一个这种小游戏从最开始构思到最后实施代码,从最开始的Demo版本到最后的第四版本,花了一个星期了.本想再更新一个版本,加入双人对战模式,还想写个AI版,可是我估计按照现在我 ...
- [UWP]如何使用Fluent Design System (下)
4. 兼容旧版本 FDS最常见的问题之一是如何与Fall Creators Update之前的版本兼容,其实做起来也挺简单的,ColorfulBox就实现了Creators Update与Fall C ...
- 牛客网linux试题-错误整理-20170914
Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性. 1.交互进程--由一个shell启动的进程.交互进程既可以在前台运行,也可以在后台运行. 2.批处理进程--这种进程和终端没有 ...
- C# 知识回顾 - Lambda
序 它是第十一个希腊字母,一个拥有失意.无奈.孤独.低调等含义的流行符号,也指示一款称为"半条命"的游戏. 不过,这次我所讲的是 C# 中的 Lambda. 目录 Lambda 简 ...