易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : Oracle

Oracle 10g 正则表达式用法


Oracle10G支持正在表达式函数,可以使用java的正在表达式写法;
1.         REGEXP_LIKE:
REGEXP_LIKE 与LIKE 操作符相似。如果第一个参数匹配正则表达式它就解析为TRUE。例如WHERE REGEXP_LIKE(ENAME,'^J[AO]','i') 将在ENAME 以JA 或JO 开始的情况下返回一行数据。'I' 参数指定正则表达式是大小写敏感的。另外还可以在CHECK 约束和函数索引中指定REGEXP_LIKE。例如:
ALTER TABLE EMP ADD CONSTRAINT REGEX01
CHECK (REGEXP_LIKE(ENAME,'^[[:alpha:]]+$'));
这条语句使得ENAME 字段只能包含字母和数字字符(也就是说没有空格或者标点符号)。试图插入或者更新这些数据将导致一个ORA-2290 异常,或者检查约束的有效性。
2.         REGEXP_INSTR:
REGEXP_INSTR 与INSTR 函数类似。它返回一个字符串中匹配一个正则表达式的第一个子串的开始位置。
3.         REGEXP_SUBSTR
REGEXP_SUBSTR返回匹配一个正则表达式的子串
4.         REGEXP_REPLACE
REGEXP_R ......

让oracle支持级联更新

 create or replace package update_cascade
as
    procedure on_table( p_table_name      in varchar2,
                        p_preserve_rowid  in boolean default TRUE,
                        p_use_dbms_output in boolean default FALSE );
end update_cascade;
/
create or replace package body update_cascade
as
type cnameArray is table of user_cons_columns.column_name%type
                   index by binary_integer;
sql_stmt           varchar2(32000);
use_dbms_output    boolean default FALSE;
preserve_rowid     boolean default TRUE ......

Oracle 物化视图语法

create materialized view [view_name]
refresh [fast|complete|force]
[
on [commit|demand] |
start with (start_time) next (next_time)
]
as
{创建物化视图用的查询语句}
以上是Oracle创建物化视图(Materialized View,以下简称MV)时的常用语法,各参数的含义如下:
1.refresh [fast|complete|force] 视图刷新的方式:
fast: 增量刷新.假设前一次刷新的时间为t1,那么使用fast模式刷新物化视图时,只向视图中添加t1到当前时间段内,主表变化过的数据.为了记录这种变化,建立增量刷新物化视图还需要一个物化视图日志表。create materialized view log on (主表名)。
complete:全部刷新。相当于重新执行一次创建视图的查询语句。
force: 这是默认的数据刷新方式。当可以使用fast模式时,数据刷新将采用fast方式;否则使用complete方式。
2.MV数据刷新的时间:
on demand:在用户需要刷新的时候刷新,这里就要求用户自己动手去刷新数据了(也可以使用job定时刷新)
on commit:当主表中有数据提交的时候,立即刷新MV中的数据;
start ……:从指定的时间开始,每隔一段时间(由next指定)就刷新一次;
Oracle的物化视图提供了强大的功能,可以用于预 ......

linux Redhat AS4下oracle 9i安装


系统补丁安装能够
rpm -ivh compat-libcwait-2.1-1.i386.rpm
rpm -ivh compat-oracle-rhel4-1.0-5.i386.rpm
安装过程这2个rpm时会报一些依赖的包未装,根据名字到网上去下载相应的包装上。
配置系统参数
 dd if=/dev/zero of=tmpswap bs=1k count=2048000
 chmod 600 tmpswap
 mkswap tmpswap
 swapon tmpswap
vi /etc/sysctl.conf
kernel.sem=250 32000 100 128
kernel.shmmax=4294967295
kernel.shmmni=128
kernel.msgmnb=65536
kernel.msgmni=2878
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
echo 65536 > /proc/sys/fs/file-max
ulimit -n 65536
ulimit -u 16384
setup #按界面操作,关闭防火墙
gcc -shared -o libcwait.so -fpic -O2 libcwait.c  #编译libcwait.c
chmod 755 libcwait.so
cp libcwait.so /usr/lib/libcwait.so
-----〉libcwait.c
#include <errno.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
pid_t
__libc_wait (int *status)
{
  int res;
  asm volatile ("pushl %%ebx\n\t"
   & ......

linux Redhat AS4下oracle 9i安装


系统补丁安装能够
rpm -ivh compat-libcwait-2.1-1.i386.rpm
rpm -ivh compat-oracle-rhel4-1.0-5.i386.rpm
安装过程这2个rpm时会报一些依赖的包未装,根据名字到网上去下载相应的包装上。
配置系统参数
 dd if=/dev/zero of=tmpswap bs=1k count=2048000
 chmod 600 tmpswap
 mkswap tmpswap
 swapon tmpswap
vi /etc/sysctl.conf
kernel.sem=250 32000 100 128
kernel.shmmax=4294967295
kernel.shmmni=128
kernel.msgmnb=65536
kernel.msgmni=2878
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
echo 65536 > /proc/sys/fs/file-max
ulimit -n 65536
ulimit -u 16384
setup #按界面操作,关闭防火墙
gcc -shared -o libcwait.so -fpic -O2 libcwait.c  #编译libcwait.c
chmod 755 libcwait.so
cp libcwait.so /usr/lib/libcwait.so
-----〉libcwait.c
#include <errno.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
pid_t
__libc_wait (int *status)
{
  int res;
  asm volatile ("pushl %%ebx\n\t"
   & ......

Oracle 简单知识

1. Oracle安装完成后的初始口令?
  internal/oracle
  sys/change_on_install
  system/manager
  scott/tiger
  sysman/oem_temp
9. 请问如何分辨某个用户是从哪台机器登陆ORACLE的?
SELECT machine ,terminal from V$SESSION;
10. 用什么语句查询字段呢?
desc table_name 可以查询表的结构
select field_name,... from ... 可以查询字段的值
select * from all_tables where table_name like '%'
select * from all_tab_columns where table_name='??'
11. 怎样得到触发器、过程、函数的创建脚本?
desc user_source
user_triggers
12. 怎样计算一个表占用的空间的大小?
select owner,table_name,NUM_ROWS,BLOCKS*AAA/1024/1024 "Size M",EMPTY_BLOCKS,LAST_ANALYZED
from dba_tables
where table_name='XXX';
Here: AAA is the value of db_block_size;
XXX is the table name you want to check
13. 如何查看最大会话数?
SELECT * from V$PARAMETER WHERE NAME LIKE 'proc%';
SQL>
SQL> show parameter processes
NAME TYPE VALUE
------------------------------------ ------- ......

从Oracle表格行列转置说起...

当你面对如下格式的一个表格:NO为人员的ID,MONEY是收入,DAY是星期(1代表星期一,7代表周日)。
NO
MONEY
DAY
1
23
1
1
43
2
1
-45
3
2
42
1
2
-10
2
2
50
3
3
100
8
为了符合阅读习惯,最终报表希望是如下格式:
NO
MON
TUE
THR
1
23
43
-45
2
42
-10
50
3
 
 
 
------------------------
咱们一步步来实现:
1.运用DECODE转换行为列
SQL:
SELECT NO,
    DECODE(DAY,1,MONEY,'') DAY1,
    DECODE(DAY,2,MONEY,'') DAY2,
    DECODE(DAY,3,MONEY,'') DAY3
from TEMP
结果:
NO
DAY1
DAY2
DAY3
1
23
1
43
1
-45
2
42
2
-10
2
50
3
 
 
 
2.按NO字段分组,并更改列名
SQL:
SELECT NO, MAX(DAY1) MON, MAX(DAY2) TUE, MAX(DAY3) THR
 from (SELECT NO,
        DECODE(DAY, 1, MONEY,'') DAY1,
        DECODE(DAY, 2, MONEY,'') DAY2,
        DECODE(DAY, 3, MONEY,'') DAY3
 &nb ......
总记录数:3994; 总页数:666; 每页6 条; 首页 上一页 [627] [628] [629] [630] 631 [632] [633] [634] [635] [636]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号