oracle数据库
xia_andy
这个作者很懒,什么都没留下…
展开
-
decode与case when比较
decode只能做等值的,case when可以做区间的,decode能做到的,case when也能做到。效率方面,个人觉得两者效率差不多。但decode的语法要简单些,但它只能做等值的比较case when end 能做条件的判断select case when b.total_fee is null then 0 else b.total_fee end from ...原创 2011-08-19 10:11:05 · 926 阅读 · 0 评论 -
类型转换函数cast
在开发中遇到一个问题,数据库中字段是char(2)类型的,在Java中查出来后所得到的是Character类型的,就只有一个字符,就在sql用cast类型转换函数转换一下就可以了。String sql = "select cast(t.maintain_kind as varchar2(2)),sum(t.apply_amount),sum(t.confirm_amount) from t...原创 2011-08-10 09:56:38 · 138 阅读 · 0 评论 -
函数和过程
ddd原创 2011-10-21 10:45:10 · 157 阅读 · 0 评论 -
oracle临时表
ORACLE的临时表在应用系统中有很大的作用,它可以让用户只能够操作各自的数据中而互不干扰,不用担心会破坏或影响其他SESSION/TRANSACTION的数据,这也是数据安全的一种解决方法 临时表分为SESSION、TRANSACTION两种,SESSION级的临时表数据在整个SESSION都存在,直到结束此次SESSION;而TRANSACTION级的临时表数据在TRANACTI...原创 2011-10-13 21:48:41 · 52 阅读 · 0 评论 -
ORACLE日期函数集锦
一、 常用日期数据格式1.Y或YY或YYY 年的最后一位,两位或三位SQL> Select to_char(sysdate,'Y') from dual;TO_CHAR(SYSDATE,'Y')--------------------7SQL> Select to_char(sysdate,'YY') from dual;TO_CHA...原创 2011-07-14 10:02:45 · 72 阅读 · 0 评论 -
函数和过程
function,pro,tri,seq原创 2011-09-26 13:13:49 · 58 阅读 · 0 评论 -
游标语法
游标分为隐士游标和显示游标。隐士是自带的,用sql%found或sql%notfound访问显示原创 2011-07-11 10:52:51 · 133 阅读 · 0 评论 -
关于时间段的查询
select * from 表名 where to_char(日期字段,'YYYY-MM-DD HH24:MI')>'2011-06-29 14:32' and to_char(日期字段,'YYYY-MM-DD HH24:MI')<'2011-07-16 14:20'原创 2011-06-29 19:10:15 · 116 阅读 · 0 评论 -
pl/sql导入导出表结构和数据
在表的所有者不能改变的情况下,可以使用导入导出表结构和表数据的方法,将表移动到你想要的所有者下(注:特别是建立表的时候如果以sysdba的身份登录的话,所有表的所有者都为sys,此时会对你用c#访问数据库产生麻烦,我在我的另一篇文章中也提到《.NET连接Oracle数据库的错误,pl/sql中的myobjects过滤器 》),此时你只能用这种方法改变所有者。导出表结构:Tools--...原创 2011-09-17 13:36:55 · 96 阅读 · 0 评论 -
having
聚集函数如max,min,sum,count,avg不能出现在where子句中,要想加条件,必须用havingselect pub,sum(price*qty) from books group by pub having sum(price)>60; nvl函数的使用:select nvl(name,'未输入') from table; 查询字段是否为空 ...原创 2011-09-13 21:58:56 · 109 阅读 · 0 评论 -
oracle中关于no_data_found异常的解决
在存储过程中,select name into v_name from table where 条件 的时候,如果没有查询到数据,就不能将v_name进行赋值,就会抛出no_data_found异常,程序不能继续执行解决:select count(*) into v_count from from table where 条件 ; if(v_count<&...原创 2011-09-05 18:01:04 · 2277 阅读 · 0 评论 -
存储过程中调用函数
select func_fetch_previous_fee(v_last_month, v_room_id) into v_previous_fee from dual;原创 2011-08-26 10:52:32 · 1294 阅读 · 0 评论 -
存储过程中变量的定义
1.常用类型:number 数字型(包括小数) char(n) varchar2(n) 字符型boolean 布尔型2.定义与表相关:tableA.columnA%type; 字段类型相同tableA%rowtype;3.包头部分定义:定义集合TYPE dt_deduct_fund is RECORD( invest_id t_...原创 2011-08-25 09:21:40 · 1403 阅读 · 0 评论 -
oracle存储过程中if嵌套
if (v_compute_form = 1) then current_fee := v_square * price; --本月费用 if (v_overdue_flag = 1) then overdue_fine := previous_fee * 5 / 10000; --滞纳金 end if;elsif (v_comput...原创 2011-08-21 17:48:44 · 5790 阅读 · 0 评论 -
oracle存储过程基本语法
oracle 存储过程的基本语法1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字( 参数1 IN NUMBER, 参数2 IN NUMBER) IS|AS变量1 INTEGER :=0;变量2 DATE;BEGINEND 存储过程名字说明:is也可换成as2.SELECT IN...原创 2011-08-21 09:29:48 · 63 阅读 · 0 评论 -
Oracle中merge into的使用
Oracle中merge into的使用 http://blog.csdn.net/yuzhic/article/details/1896878http://blog.csdn.net/macle2010/article/details/5980965 该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中,使用此命令必须同时指定U...原创 2013-04-02 11:09:45 · 89 阅读 · 0 评论