- 浏览: 320017 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhangliguoaccp:
对于女人不要太看重吧,喜欢你的自然留下,你若盛开,蝴蝶自来!
遇见她 -
yiqi1943:
springtest支持的spring版本最低是多少啊
Spring Test -
WITLP:
爱,我只知道你一部分的事情,没想到你从华智出来这么坎坷
2009 为什么待到毕业时? -
WITLP:
哈哈,原来你就是传说中的欧阳平?
ANT 简单使用 -
bo_hai:
谢谢。总结的很好。
工具 PL/SQL 快捷键
1 sql函数语法
1.1 条件语句 if else
--if-then if condition then sequece_of statements end if; --if-then-else if condition then sequece_of statements1 else sequece_of statements1 end if; --if-then-elseif-else if condition1 then sequece_of statements1 elseif condition1 then sequece_of statements2 else sequece_of statements3 end if; --例子存储函数 create or replace function testifelse(idd in varchar) return number is Result number; v_para1 number; v_para2 number; message varchar2(200); begin select count(1) into v_para1 from dual; if v_para1 <> 0 then v_para1 := '111'; end if; if v_para2 is null then message := 'number类型的默认是null,不是0'; end if; dbms_output.put_line('v_para1='||v_para1||'---'||'v_para2='||message); return(Result); end testifelse;
1.2 case 语句
case selector when expression1 then sequence_of_statemts1; end case; --例子1: select case when 1 = 1 and 2 = 2 then '正确' end case from dual --例子2 函数 create or replace function testCase(condition in varchar2) return varchar2 is Result varchar2(20); v_param dual.dummy%type; begin case condition when '' then Result:='参数是空'; when '1' then Result:='参数是1'; when '2' then Result:='参数是2'; dbms_output.put_line(v_param); end case; return(Result); end testCase; --例子2 存储过程 create or replace procedure testcase(para_in in varchar2, para_out out varchar2) is v_param varchar2(20); begin dbms_output.put_line('存储过程'); case para_in when '1' then para_out := para_in || 'out参数'; when '2' then para_out := para_in || 'out参数2'; end case; end testcase;
1.3 for loop 数组以及数组类型
declare i number; type list_type is table of binary_integer index by binary_integer; -- 类型定义 list list_type; begin for i in reverse 1 .. 5 loop list(i) := i * 1; dbms_output.put_line(list(i)); end loop; dbms_output.put_line(list.first()); end;
Declare type my_text_table_type is table of varchar2(200) index by binary_integer; l_text_table my_text_table_type; l_index number; begin for l_index in 1 .. 5 loop l_text_table(l_index) := l_index * l_index; end loop; l_index := l_text_table.first; --使用first方法 dbms_output.put_line('000'||l_text_table.first); loop exit when l_index is null; dbms_output.put_line(l_index || ':' || l_text_table(l_index)); l_index := l_text_table.next(l_index); end loop; end;
下表中列出oracle中集合的方法
方法 描述 使用限制
COUNT 返回集合中元素的个数
DELETE 删除集合中所有元素
DELETE() 删除元素下标为x的元素,如果x为null,则集合保持不变 对VARRAY非法
DELETE(,) 删除元素下标从X到Y的元素,如果X>Y集合保持不变 对VARRAY非法
EXIST() 如果集合元素x已经初始化,则返回TRUE, 否则返回FALSE
EXTEND 在集合末尾添加一个元素 对Index_by非法
EXTEND() 在集合末尾添加x个元素 对Index_by非法
EXTEND(,) 在集合末尾添加元素n的x个副本 对Index_by非法
FIRST 返回集合中的第一个元素的下标号,对于VARRAY集合始终返回1。
LAST 返回集合中最后一个元素的下标号, 对于VARRAY返回值始终等于COUNT.
LIMIT 返回VARRY集合的最大的元素个数,对于嵌套表和对于嵌套表和Index_by为null Index_by集合无用
NEXT() 返回在元素x之后及紧挨着它的元素的值,如果该元素是最后一个元素,则返回null.
PRIOR() 返回集合中在元素x之前紧挨着它的元素的值,如果该元素是第一个元素,则返回null。
TRI M 从集合末端开始删除一个元素 对于index_by不合法
TRIM() 从集合末端开始删除x个元素 对index_by不合法
1.4 实战例子
create or replace function getArrearage2(yuangongID in varchar2) return number is Result number; money1 number; money2 number; money3 number; begin select count(1) into money1 from (SELECT b.id_worker, SUM(B.ALLOW_MONEY) as totalMoney FROM T_MONEY1 B WHERE B.STATUS = '1' AND B.FLAG = '1' AND B.BILL_STAUTUS = '4' AND B.ID_WORKER = yuangongID group by b.id_worker); if (money1 0) then select totalMoney into money1 from (SELECT b.id_worker, SUM(B.ALLOW_MONEY) as totalMoney FROM T_MONEY1 B WHERE B.STATUS = '1' AND B.FLAG = '1' AND B.BILL_STAUTUS = '4' AND B.ID_WORKER = yuangongID group by b.id_worker); end if; select count(1) into money2 from (SELECT b.id_worker, sum(b.back_money) as back_money FROM T_MONEY2 B WHERE B.STATUS = '1' AND B.FLAG = '1' AND B.ID_WORKER = yuangongID group by b.id_worker) tt; if (money2 0) then select tt.back_money into money2 from (SELECT b.id_worker, sum(b.back_money) as back_money FROM T_MONEY2 B WHERE B.STATUS = '1' AND B.FLAG = '1' AND B.ID_WORKER = yuangongID group by b.id_worker) tt; end if; select count(1) into money3 from (SELECT p.id_worker, sum(c.money) as money FROM T_MONEY3 C LEFT JOIN MB_PAY_ASK P ON P.ID = C.ID_PAYBILL WHERE C.MONEY IS NOT NULL AND C.MONEY '0' AND C.STATUS = '1' AND C.FLAG = '1' AND P.STATUS = '1' AND P.FLAG = '1' AND P.ID_WORKER = yuangongID AND P.PROPOSAL_STATUS = '4' group by p.id_worker) xx; if (money3 0) then select xx.money into money3 from (SELECT p.id_worker, sum(c.money) as money FROM T_MONEY3 P WHERE C.MONEY IS NOT NULL AND C.MONEY '0' AND C.STATUS = '1' AND C.FLAG = '1' group by p.id_worker) xx; end if; Result := money1 - money2 - money3; return(Result); end getArrearage2;
发表评论
-
mysql 事务机制
2011-04-01 13:52 1664mysql事物机制 一、启动方式 1、使用 serv ... -
ibatis 简单修改ibatis框架
2011-03-31 15:45 940简单修改ibatis框架 使用ibatis框架生成 ... -
mysql 导入导出数据
2011-03-22 15:05 843mysql导入导出数据 1、导入数据 ... -
mysql 修改表结构
2011-03-18 11:50 3875mysql 修改表结构 1.增加一个字段(一列) ... -
mysql 乱码问题
2011-03-16 17:43 887mysql乱码问题。 统一编码,以gbk为例。 ... -
mysql 中文文档
2011-01-27 16:27 1674mysql的中文文档地址: http:/ ... -
mysql 常用指令
2011-01-19 15:21 1168windows 环境变量配置: pah ... -
oracle 卸载与安装三
2010-09-04 17:24 9833 配置(PL/SQL) 3.1 链接本地服务器 ... -
oracle 卸载与安装二
2010-09-04 17:00 12122 Oracle 安装 2.1 Oracle主目录路 ... -
oracle 卸载与安装一
2010-09-04 16:51 1087Oracle 卸载 1 彻底卸载Or ... -
数据库 sql for loop 常用脚本更新数据
2010-08-27 08:49 1458declare i number := 1; ... -
数据库 sql存储过程
2010-08-21 19:04 938create or replace procedure te ... -
数据库 sql游标
2010-08-14 17:57 10451 基本知识 declare 定义游标open 打开游标f ... -
数据库 sql基本语法
2010-08-14 15:04 6791 集合运算符 union all 结合两个select语句结 ... -
数据库 sql需求
2010-08-11 12:55 8621 需求:某人借钱(A表),还钱(B表) 要查询这个人还欠多少 ... -
Oracle 存储过程
2010-06-22 09:25 1011--1 存储过程迁移数据 CREATE OR RE ... -
数据库 MySql2
2010-05-04 21:10 935数据库 MySql2 -
数据库 MySql1
2010-05-04 21:10 763数据库 MySql1 指令 1 mysql; 2 use ... -
Oracle 注意事项‘’null 空格
2010-04-10 19:59 932sql 空字符串与空格不一样 select ' ' fr ... -
Oracle 数据库名 数据库实例名 数据库域名 数据库服务名
2010-04-10 14:03 1442user1 password1 --> datab ...
相关推荐
SQL函数则是SQL中的核心组成部分,它们提供了处理数据的各种方法,包括计算、聚合、转换、比较等。下面将详细介绍一些常见的SQL函数。 一、算术函数 1. SUM(): 计算一组数值的总和。 2. AVG(): 计算平均值。 3. MAX...
Oracle数据库的SQL函数是数据库查询和管理中不可或缺的一部分,它们极大地丰富了SQL语言的功能,使得数据处理更加灵活和高效。以下是一些常见的Oracle SQL函数及其详细说明: 1. ASCII函数:ASCII函数返回一个字符...
数据库开发 Oracle数据库 SQL开发教程 第04章 单行函数(共61页).pdf 数据库开发 Oracle数据库 SQL开发教程 第05章 多表连接(共48页).pdf 数据库开发 Oracle数据库 SQL开发教程 第06章 分组函数(共41页).pdf ...
整体来看,SAP HANA数据库SQL参考手册为数据库操作人员提供了全面的SQL语言支持。手册详细地解释了SAP HANA所支持的SQL语法和函数,为执行数据管理、查询以及应用程序开发提供了丰富的工具。对于任何使用SAP HANA...
总的来说,Oracle数据库SQL和PL/SQL实例教程旨在帮助学习者深入理解这两种语言,提高数据库管理与开发的技能,从而在实际工作中更加高效地处理数据。通过详细的章节和实例,读者可以逐步熟悉并熟练运用SQL和PL/SQL...
### 人大金仓数据库SQL手册知识点详述 #### 一、概述 人大金仓数据库SQL手册是一份详尽的文档,旨在帮助用户更好地理解和使用人大金仓数据库管理系统(KingbaseES)中的SQL语言。该手册涵盖了SQL语言的基础知识、...
SAP HANA数据库SQL参考手册是为SAP HANA平台上的SQL用户提供的全面指南,尤其适合SAP顾问、系统管理员和硬件合作伙伴等专业人士使用。该手册深入解析了在HANA环境中如何有效地运用SQL语言,涵盖了从基本语法到高级...
SAP HANA数据库SQL参考手册详细介绍了这些规则和约定,为数据库管理员和开发人员提供了一个全面的指南,帮助他们在SAP HANA平台上有效地执行SQL操作。该手册不仅涵盖了基础知识,如数据类型、操作符和函数,还包括...
SAP-HANA数据库SQL中文完全参考手册,本文档完全翻译为中文,适合看不懂原版官方英文文档的人,内容做了精美的排版,里面包括各种函数,语法,限制信息等。内容非常完备,掌握这本手册,相信一定能掌握HANA
1、mysql数据库转国产化瀚高数据库; 2、有些函数在瀚高数据库中不存在,需要添加自定义函数。
SQL 函数是数据库管理系统中的一种重要组件,对于数据库的查询、计算和约束等操作都有着至关重要的作用。下面是关于 SQL 函数的详细知识点。 创建自定义函数 创建自定义函数的 Transact-SQL 语句格式如下所示: ...
SQL中用到的函数,学习数据库SQL语句的好教程
GBase 8s 数据库 SQL 过程及函数应用 GBase 8s 数据库 SQL 过程及函数应用是指在 GBase 8s 数据库中使用 SQL 过程和函数来实现特定功能的一种方式。SQL 过程和函数是已经事先编译好的 SQL 语句集合,可以被用户的...
十、数据库SQL优化之避免函数、算术运算或其他表达式运算 10. 尽量避免在where子句中的“=”左边进行函数、算术运算或其他表达式运算,以免引擎放弃使用索引而进行全表扫描。 十一、数据库SQL优化之复合索引 11. ...
**Oracle数据库SQL基础** 在IT领域,Oracle数据库是全球广泛使用的数据库管理系统之一,而SQL(结构化查询语言)则是与数据库交互的基础工具。本篇将深入讲解Oracle SQL的基础知识,包括基本的SQL语句、单行函数、...
Oracle数据库是世界上最广泛使用的数据库管理系统之一,SQL(结构化查询语言)是用于管理和操作数据库的标准语言,而PL/SQL则是Oracle公司为Oracle数据库设计的一种过程式编程语言,它结合了SQL的功能并增加了流程...
系统信息函数、类型转化函数、格式化函数、控制流函数、加密函数、日期和时间函数、字符串函数、聚合函数(常用于group by从句的select查询中)、数学函数
本文将深入探讨这两个数据库系统中异种函数和标准SQL语法的差异,帮助用户更好地理解和应用它们。 首先,Oracle数据库以其强大的功能和高度可扩展性著称,而SQL Server则因其易用性和与Microsoft生态系统紧密集成而...
SQL函数是处理数据库数据的基本操作单元,它们允许我们执行计算、转换和数据提取。常见的SQL函数包括: 1. **聚合函数**:如`COUNT()`用于计算行数,`SUM()`用于求和,`AVG()`计算平均值,`MAX()`和`MIN()`找出最大...