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 [...]
--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: [...]
下面的语句来导最方便: 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
作者: fuyuncat 来源: www.HelloDBA.com 关于事务对数据块的操作过程的分析和试验(1) 关于事务对数据块的操作过程的分析和试验(2) 关于事务对数据块的操作过程的分析和试验(3) 下面是一点记录:
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, [...]
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 [...]