表中有500萬條記錄,原來沒有索引:set timing onset autotrace traceonlySQL> select count(*), to_char(time,'hh24') from userloginlog2 where trunc(time) = trunc(sysdate) - 13 group by to_char(time,'hh24')4 order by to_char(time,'hh24');24 rows selected.Elapsed: 00:0
SQL> alter database add logfile thread 1 group5('+data/myrac/onlinelog/myrac1_redolog_group5_01') size 100m;SQL> alter database add logfile member '+data/myrac/onlinelog/myrac1_redolog_group5_02' to group 5;SQL> alter database add logfile
選擇表中的某一行記錄:(理解:rownum是oracle系統順序分配為從查詢返回的行的編號)select * from (select rownum a,t.* from testtab t) where a=2;select * from (select rownum a,t.* from testtab t) where a=3;select * from (select rownum a,t.* from testtab t) where a=4;不能為:select * from
原始碼:CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2 (4000);CREATE OR REPLACE FUNCTION fn_split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2) RETURN ty_str_splitIS j INT := 0; i INT := 1; len INT := 0; len1 INT := 0; str VARC
Oracle Database 10g Release 2 (10.2.0.1) Installation On Red Hat Enterprise Linux 5 (RHEL5)In this article I'll describe the installation of Oracle Database 10g Release 2 (10.2.0.1) on Red Hat Enterprise Linux 5 (RHEL5). The article is based on a
-- 建立測試表CREATE TABLE t (a NUMBER);-- 建立預存程序CREATE OR REPLACE PROCEDURE p_parallel (p_min IN NUMBER, p_max IN NUMBER)ISBEGIN INSERT INTO t SELECT TRUNC (DBMS_RANDOM.VALUE (p_min, p_max)) FROM DUAL; COMMIT;END p_parallel;/-- 建立jobDECLARE x
Oracle交易管理一個事務包含一個或多個SQL語句,是邏輯管理的工作單元(原子單元)。一個事務開始於第一次執行的SQL語句,結束於Commit 或 Rollback 或 DDL語句。 注意:其中Commit, Rollback是顯示的提交事務,而DDL語句是隱式的提交事務的。DDL語句的操作是沒有辦法復原的。##########################eg:SQL> create table a ( i int);表已建立。SQL> insert into a
現在測試庫有400多個表需要反覆清空,用於測試。我在PL/SQL中只能單條用 truncate table1; truncate table2; truncate table3; truncate table4; ...... 一次只能選定一條執行,選定多條執行報錯,能否寫個預存程序,或者批處理,清空時執行下就可以了。 begin for c in(select t.constraint_name, t.table_name from USER_CONSTRAINTS t where