- 博客(69)
- 收藏
- 关注
原创 修改oracle数据文件和表空间名字
由于不想再重新建新的表空间给客户用,拿旧的直接改,故步骤如下:一、修改表空间名字SQL> alter tablespace TMS_RITONG rename to TMS_LYT;Tablespace altered 二、修改表空间的数据文件名字(联机状态)1、将表空间置为offlineSQL> ALTER TABLESPACE TMS_LYT OFFLINE;
2015-01-06 12:13:09 12284 1
转载 oracle管道函数
转自:http://pengfeng.javaeye.com/blog/260360在我所做过和参与的大多数项目中,都会有用户提出的复杂的一些统计报表之内的功能要求,根据统计的复杂程度、效率及JAVA程序调用的方便性方面考虑,主要总结出以下几种方案:1、SQL语句该方案只能实现一些相对简单些的查询统计功能,语句嵌套多、写起来特别复杂,使程序的可读性变差,下面是实现一个按照上级机关统计下
2014-12-29 11:08:46 541
原创 ORA-10456: cannot open standby database; media recovery session may be in
DG实验中,开standby数据库的时候,报错:ORA-10456: cannot open standby database; media recovery session may be in解决方法:
2014-10-11 23:41:30 2140
原创 函数返回值报错问题ora-06503
一个函数create or replace function get_tax_1(p_salary number)return number astax_salary number;V_NUMBER NUMBER;begin tax_salary := p_salary-FLOOR(p_salary); IF tax_salary <= 0.3 THEN
2014-09-26 16:55:01 9733
原创 求尚未使用的号段(读书笔记四)
求尚未使用的号段建表语句:CREATE TABLE t22(q VARCHAR2(8), a NUMBER(4), b NUMBER(4), c NUMBER(4));INSERT INTO t22 VALUES('A',0,999,1);INSERT INTO t22 VA
2014-09-14 11:31:25 426
原创 求缺失的号(读书笔记三)
求缺失的号建表语句:CREATE TABLE t21(ID NUMBER(3));INSERT INTO t21 VALUES(1);INSERT INTO t21 VALUES(2);INSERT INTO t21 VALUES(3);INSERT INTO t21 VALUES(4);INSERT INTO t21 VALUES(6);INSERT INTO t
2014-09-13 15:49:21 369
原创 根据号段求出包含的数(读书笔记二)
建表语句:CREATE TABLE t20(ID NUMBER(2), s NUMBER(5), e NUMBER(5));INSERT INTO t20 VALUES(1,10,11);INSERT INTO t20 VALUES(2,1,5);INSERT INTO t20 VALUES(3,88,92);COMM
2014-09-13 14:08:33 407
原创 号段选取应用之已知号码求号段(读书笔记之一)
lead和lag的简单应用:SELECT rown,LAG(rown,2,-1) OVER(ORDER BY rown) PREVIOUS, LEAD(rown,2,-1) OVER(ORDER BY rown) NEXTFROM (SELECT ROWNUM+4 rown FROM dual CONNECT BY ROWNUM通过指定第二个参数来获得前两行和后两行的内
2014-09-09 22:23:57 452
转载 Oracle10g新特性——记录DML错误日志(一)
转载:http://blog.itpub.net/4227/viewspace-558234/
2014-09-08 22:55:01 388
原创 sys_connect_by_path函数(读书笔记)
/*sys_connect_by_path(column,clear),其中column是字符型或能自动转换成字符型的列名,它的主要目的就是将父节点到当前节点的“path”按照指定的模式出现,char可以是单字符也可以是多字符,但不能使用列值中包含的字符,而且这个参数必须是常量,且不允许使用绑定变量,这个函数只能使用在层次查询中sys_connect_by_path就是从start w
2014-09-08 20:53:58 2245
原创 oracle层次查询connect by (读书笔记)
--oracle层次查询connect by --首先给scott用户授查询权限:GRANT SELECT ON employees TO scott;GRANT SELECT ON jobs TO scott;CREATE TABLE employee ASSELECT a.employee_id,a.first_name||','||a.last_name employee_n
2014-09-08 13:53:09 1233
原创 窗口函数之keep的用法(读书笔记四)
--keep的用法SELECT emp_id,emp_name,dept_id,hire_date,salary,dense_rank() OVER(PARTITION BY dept_id ORDER BY salary) dense_rank,MIN(hire_date) KEEP (dense_rank FIRST ORDER BY salary) OVER(PARTITION B
2014-09-07 22:42:04 3276
原创 窗口函数之range的用法(读书笔记三)
--RANGE的具体用法SELECTemp_id,emp_name,dept_id,hire_date,salary,--首先按dept_id进行分组,其次按照hire_date进行排序,然后再把入职时间小于等于自身的所有员工薪资进行累计SUM(salary) OVER(PARTITION BY dept_id ORDER BY hire_date) sum_salary_part_or
2014-09-07 21:10:13 1591 1
原创 窗口函数之分析函数(读书笔记一)
窗口函数建实验表语句CREATE TABLE sales(country VARCHAR2(20), sale_month DATE, sales_number NUMBER(7), sales_value NUMBER(9,2));INSERT INTO sale
2014-09-07 21:06:30 470
原创 窗口函数之rows的用法(读书笔记二)
--rows的具体用法SELECTemp_id,emp_name,dept_id,hire_date,salary,--首先按dept_id进行分组,其次按照hire_date进行排序,然后再把入职时间小于等于自身的所有员工薪资进行累计SUM(salary) OVER(PARTITION BY dept_id ORDER BY hire_date) sum_salary_part_
2014-09-07 21:06:20 1387
原创 使用常规字符串函数及动态视图解决where in list问题(读书笔记之三)
----使用常规字符串函数及动态视图/*如果数据库版本较低,无法使用正则表达式,则使用insert\SUBSTR等函数处理指定分隔符的字符串,将字符串按分隔符转为行,这样就可以像上面那样处理首先要解决的问题就是,如何使用Insert,SUBSTR等函数将字符串按分隔符转为多行记录,比如'ab,bc,cd'这个字符串来说,要转为3行记录分别为'ab'、'bc'、'cd',如何转换呢?一般
2014-09-04 00:18:24 543
原创 正则表达式regexp_substr解决where in list问题(读书笔记之二)
--正则表达式regexp_substr解决where in list问题VAR str VARCHAR2(100);EXEC :str:='XY,YZ';SELECT COUNT(*) FROM t1 WHERE object_name IN(SELECT regexp_substr(:str,'[^,]+',1,LEVEL)AS value_str FROM dual CO
2014-09-04 00:16:30 1653
原创 静态SQL和动态SQL之where in list问题(读书笔记之一)
--建两个表xy和yz作为测试用,所以表很简单,不需要数据DROP TABLE xy;CREATE TABLE xy(ID NUMBER);DROP TABLE yz;CREATE TABLE yz(ID NUMBER);--将all_objects copy到表t中,以便测试DROP TABLE t1;CREATE TABLE t1 AS SELECT * FROM
2014-09-04 00:12:37 1649
原创 group by扩展函数的习题(读书笔记)
习题脚本:DROP TABLE t;CREATE TABLE t(ORDER_date DATE,--订购日期 order_no NUMBER,--订购号 order_book VARCHAR2(10),--订购书籍 order_fee NUMBER,--订单总金额 or
2014-09-03 22:34:02 438
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人