windows xp,資料庫oracle 10.2.0。1沒有備份,基本上是預設安裝,好像還不是歸檔模式癥狀:sqlplus只有sysdba使用者能進去,其他使用者進去一概報:ora-01033:oracle正在初始化或關閉而且sysdba使用者進去之後能執行select sysdate from dual,但是執行select usernam from all_users就報錯了,ORA-01219: 資料庫未開啟: 僅允許在固定表/視圖中查詢關閉資料庫shutdown
之前做資料移轉時候有用過,今天翻了下SQL發現有點陌生,記錄下基本使用好了。oracle10g預設scott使用者下建立了測試表及欄位(略) MERGE INTO MERGEDEPT M USING (SELECT * FROM DEPT)D ON (M.DEPTNOM = D.DEPTNO) WHEN NOT MATCHED THEN INSERT( M.DEPTNOM,M.DNAMEM,M.LOCM )VALUES(
Oracle提供了分區技術以支援VLDB(Very Large DataBase)。分區表通過對分區列的判斷,把分區列不同的記錄,放到不同的分區中。分區完全對應用透明。 Oracle的分區表可以包括多個分區,每個分區都是一個獨立的段(SEGMENT),可以存放到不同的資料表空間中。查詢時可以通過查詢表來訪問各個分區中的資料,也可以通過在查詢時直接指定分區的方法來進行查詢。
1.基本結構CREATE OR REPLACE PROCEDURE 預存程序名字(參數1 IN NUMBER,參數2 IN NUMBER,參數3 OUT NUMBER) IS變數1 INTEGER := 預設值;變數2 DATE;BEGIN…EXCEPTIONWHEN 異常類別 THEN…WHEN OTHERS THEN…END 預存程序名字;2.基本操作變數賦值 V_TEST := 1;動態賦值 SELECT COL1,COL2,… INTO VAR1,VAR2,… FROM … WHERE
今天在項目中對使用者的資料進行操作,在修改一個預存程序後,想檢查一下修改的預存程序是否正確,就對預存程序進行了調試,調試完後才發現結果集中少了一條記錄,尋找後發現預存程序中有對錶的資料進行刪除操作,千小心萬小心還是沒有把刪除的語句中的表改為暫存資料表,還好只刪除了一條記錄。 經過一下午和晚上的努力,到出尋求協助,總算找到了一個方法根據時間可以查看刪除的記錄資料 1. 進行查詢閃回如:Code highlighting produced by Actipro
SQL中的單記錄函數1.ASCII返回與指定的字元對應的十進位數;SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE--------- --------- --------- --------- 65 97 48
1.建立cux使用者SQL> conn / as sysdba;Connected.SQL> create tablespace APPS_NTK_CUX datafile '/ebs/proddata/apps_st/data/cuxd01.dbf'size 50m autoextend on next 1m;Tablespace created.SQL> create user cux identified by cux default tablespace
嵌套SQL的查詢速度比較分析文章中使用Oracle內建的HR資料庫,故代碼可以直接進行測試。代碼一:select t.employee_id, t.first_name, t.phone_number from HR.Employees t where t.first_name like 'A%'or t.first_name like 'B%'or t.first_name like 'H%'or t.first_name like 'K%'or t.first_name like '
含義解釋: decode(條件,值1,傳回值1,值2,傳回值2,...值n,傳回值n,預設值)該函數的含義如下:IF 條件=值1 THEN RETURN(翻譯值1)ELSIF 條件=值2 THEN RETURN(翻譯值2) ......ELSIF 條件=值n THEN RETURN(翻譯值n)ELSE RETURN(預設值)END IFdecode(欄位或欄位的運算,值1,值2,值3)