随笔分类 - Oracle
1
摘要:select REGEXP_REPLACE('字符串中包含的数字123,提取后就是123', '[^0-9]', '') from dual;
阅读全文
摘要:select regexp_substr('a,b,c,d', '[^,]+', 1, rownum), length('a,b,c,d') - length(replace('a,b,c,d', ',', '')) + 1, rownum, length(replace('a,b,c,d', ',', '')), length('a,b,c,d') from dualconnect by rownum <= length(
阅读全文
摘要:Microsoft Windows [版本 6.1.7601]版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\zhangzheng2>sqlplus FWMS4SZ_DEV_MAIN_DDL/FWMS4SZ_DEV_MAIN_DDL@ORCL_10.10.21.48SQL*Plus: Release 10.2.0.3.0 - Production on 星期四 10月 31 10:46:53 2013Copyright (c) 1982, 2006, Oracle. All Rights Reserved.连接到:Oracle Da
阅读全文
摘要:------------第一步:创建测试表CREATE TABLE TEST_1( WL VARCHAR2(10), XYSL INTEGER, XYCK VARCHAR2(10), XCLCK VARCHAR2(10), XCLCKSL INTEGER, PC INTEGER);------------第二步:插入测试数据INSERT INTO TEST_1 VALUES ('A1', 2, 'C1', 'C1', 20, 123);INSERT INTO TEST_1 VALUES ('A1', 2, 'C1'
阅读全文
摘要:select rownum rn from dual connect by rownum < 101
阅读全文
摘要:在日常工作中,有一些表没有创建时间的字段,但经常会遇到想看看表中记录的插入或更新的时间,或是想知道什么时间插入或添加了那些记录这种需求。--创建用于测试的表create table test_zz( id number, name varchar2(10), gender varchar2(5));--插入一部分数据(插入的时间是 2012-11-28 11:18)insert into test_zz values (1, '刘德华', '男');insert into test_zz values (2, '张学友', '男'
阅读全文
摘要:Oracle服务相当耗资源,有时我们会较频繁的启动或停止该服务,一般情况下会有以下两种方法:1. 通过命令启动或停止服务;2. 或是从开始>设置>控制面板>管理工具>服务, 的列表中启动或停止服务。以上两种方法都不如一个批处理文件执行效率高:@echo offcolor f1echo "停止数据库服务为1,启动数据库服务为2"set source=:set /p source= 请输入要进行操作的序号:if "%source%"=="1" goto net1if "%source%"==&q
阅读全文
摘要:declare -- 修改表字段长度的字符串 v_alter_sqlstr varchar2(500); -- 游标 cursor c_result is select t_tables.table_name, t_column.column_name, t_column.data_length, 'alter table ' || t_column.table_name || ' modify ' || t_column.column_name || ' varchar2(200)' as alter_sqlstr...
阅读全文
摘要:@echo offcolor f1echo "停止数据库服务为1,启动数据库服务为2"set source=:set /p source= 请输入要进行操作的序号:if "%source%"=="1" goto net1if "%source%"=="2" goto net2:net1rem @net stop OracleDBConsoleora10grem @net stop OracleOraDb10g_home1iSQL*Plus@net stop OracleOraDb10g_home
阅读全文
摘要:/**1. 周一年总共只有53周有两种情况,在于当年第一周的第一天和最后一天怎么算,后面只需加上7天就是一周,类推a. 第一种,周日为第一天 ,周六为最后一天b. 第二种,周一为第一天,周日为最后一天*/-- a. 第一种SELECT LEVEL 周次, (Trunc(SYSDATE, 'yyyy') - 7) + (7 - To_Char(Trunc(SYSDATE, 'yyyy'), 'd') + 1) + (LEVEL - 1) * 7 当周第一天, (Trunc(SYSDATE, 'yyyy') - 7) + (7 - T
阅读全文
摘要:declarebegin <<illoop>> -- 循环体的标识,即是给循环体取一个名字 for i in 1 .. 10 loop <<jloop>> -- 环体的标识,即是循环体取一个名字 for j in 1 .. 5 loop dbms_output.put_line('i:' || i || ' j :' || j); EXIT jloop when j = 3; -- 跳出里面的循环体 end loop jloop; end loop illoop;end;
阅读全文
摘要:create or replace procedure reCompile is cursor cur_invalid_objects is select object_name, object_type from user_objects where status = 'INVALID '; rec_columns cur_invalid_objects%rowtype; err_status numeric;begin dbms_output.enable(10000); open cur_invalid_objects; loop fetch cur_inval...
阅读全文
摘要:select t.*, t.rowid, to_char(scn_to_timestamp(ORA_ROWSCN), 'yyyy-mm-dd hh24:mi:ss') insert_time from t2 t;
阅读全文
摘要:select distinct t.name, t.type from user_source t where regexp_like(upper(t.text), upper('&表名'));
阅读全文
摘要:实例一:在Oracle中,SYS_CONNECT_BY_PATH函数主要作用是可以把一个父节点下的所有子节点通过某个字符进行区分,然后连接在一个列中显示。 1 -- 创建一个内容表 2 create table t_student 3 ( 4 t_id number, 5 t_class number, 6 t_name varchar2(10), 7 t_subject varchar2(1000), 8 t_score number 9 ); 10 11 -- 插入测试数据12 insert into t_student val...
阅读全文
摘要:1 create or replace procedure p_query_table_by_condition 2 /** 3 * name : p_query_table_by_condition 4 * purpose : 根据条件查该条件出现在那张表 5 * revisions: 6 * version date author description 7 * ---------------- ---------- ------------------ --------------...
阅读全文
摘要:1 /*==============================================================*/ 2 /* 创建数据类型 */ 3 /*==============================================================*/ 4 create or replace type varchar2varray is varray(100) of varchar2(40); 5 / 6 7 8 /*...
阅读全文
摘要:1 create or replace procedure p_alter_data_datafile 2 ( 3 tablespace_name in varchar2, --表空间名字 4 datafile_path in varchar2, --数据文件的路径 5 datafile_size in number, --数据文件的大小 6 datafile_count in number --数据文件的数量 7 ) 8 is 9 time...
阅读全文
摘要:利用触发器实现查看所有客户端IP的方法收集了网上的一些做法,做个总结,方便以后用,其操作步骤:1. 在sys模式下创建一个表,用于记录客户端登录数据库服务器的详细信息。1 create table login_history 2 ( 3 username varchar2(60), --用户名 4 machine varchar2(60), --机器名 5 login_time date, --登录时间 6 ip varchar2(50) --ip地址 7 );2. 在sys模式下创建一个触发器:1 cre...
阅读全文
摘要:1 /** 2 * 创建演示表 3 */ 4 create table tab_test 5 ( 6 t_id number, 7 t_name varchar2(50), 8 t_age number, 9 t_sex varchar2(2)10 )11 ;12 13 -- 插入测试数据14 insert into tab_test values (1, 'a', '18', '男');15 insert into tab_test values (2, 'b', '20', '女');16 in
阅读全文
1
浙公网安备 33010602011771号