• 登录
  • Subscribe RSS Feed
 

'SQL' Tag

  • 列转换行

    12月 3, 2009

    1、表数据如下: SQL> select * from test; ID MC ---------- ---------- 1 11111 1 22222 2 11111 2 22222 3 11111 3 22222 3 33333 7 rows selected 2、 SQL> select id,mc, 2 row_number() over(partition by id order by id) rn_by_id, 3 dense_rank() over(order by id) as dr, 4 row_number() over(order by id) + dense_rank() over(order [...]

  • 使用enable novalidate添加唯一性约束

    11月 21, 2009

    --6百万的测试表 SQL> select /*+ parallel(test 4) */ count(*) from test; COUNT(*) ---------- 6381954 Elapsed: 00:00:00.60 --创建重复的记录 SQL> insert into test select * from test where rownum < 50; 49 rows created. Elapsed: 00:00:00.03 --创建唯一性约束 SQL> alter table test add constraint uk_id unique(PAYMENT_ID); alter table test add constraint uk_id unique(PAYMENT_ID) * ERROR at line 1: ORA-02299: [...]

  • 导出序列

    11月 3, 2009

    下面的语句来导最方便: select 'create sequence '||sequence_name||' start with '||last_number||';' from seq; 网上有一篇文章如下: 如何导出用户下所有的sequence Oracle的EXP工具只有在全用户导出时,才会包含secquence。在单独需要sequence时,可以用spool和dbms_metadata包来实现。 在sqlplus中,首先执行这个脚本 set long 90000 set feedback off set pagesize 0 set heading off spool get_seq_ddl.sql select 'select dbms_metadata.get_ddl('''||t.object_type||''',''' ||t.object_name||''') from dual;' from user_objects t where t.object_type='SEQUENCE'; spool off 再运行新生成的sql脚本,将DDL输出到seq_ddl.sql spool seq_ddl.sql @get_seq_ddl.sql spool off

  • 关于事务对数据块的操作过程的分析和试验

    10月 17, 2009

    作者: fuyuncat 来源: www.HelloDBA.com 关于事务对数据块的操作过程的分析和试验(1) 关于事务对数据块的操作过程的分析和试验(2) 关于事务对数据块的操作过程的分析和试验(3) 下面是一点记录:

  • 在SQL中设置NOLOGGING

    10月 11, 2009
  • Runstats.sql

    10月 5, 2009

    TOM的Runstats脚本~

  • sql:case when

    09月 8, 2009

    SELECT SUM(CASE              WHEN TYPE = 'CONSUME' THEN               BALANCE              ELSE               0            END),        SUM(CASE              WHEN TYPE = 'PREPAY' THEN               BALANCE              ELSE               0            END),        SUM(CASE              WHEN TYPE = 'EARNING' THEN               BALANCE              ELSE               0            END)   FROM (SELECT MEMBERID,                TYPE,                [...]

  • 查找重复记录的rowid

    08月 22, 2009

    scott@MYORACLE> select rowid,t.*,row_number() over(partition by deptno order by rowid desc) row_flag from tmp_dept t; ROWID                  DEPTNO DNAME          LOC                    ROW_FLAG ------------------ ---------- -------------- -------------------- ---------- AAAGYyAAIAAAABUAAE         11 123            00123                         1 AAAGYyAAIAAAABUAAF         12 123            00123                         1 AAAGYyAAIAAAABUAAB         20 RESEARCH       DALLAS                        1 AAAGYyAAIAAAABUAAC         30 SALES          CHICAGO                       1 AAAGYyAAIAAAABUAAD         40 OPERATIONS     BOSTON                        1 AAAGYyAAIAAAABUAAJ         70 a              k                             1 AAAGYyAAIAAAABUAAH         [...]

 
Powered by BlogCN.com - WordPress and MySQL. Theme by Shlomi Noach, openark.org