Oracle 預存程序分頁查詢封裝:動態 SQL + REF CURSOR 實作
設計目標 封裝通用分頁查詢,支援任意表、任意 WHERE/ORDER BY 條件,回傳總筆數與當頁游標。 Package 規範 CREATE OR REPLA
Oracle 多粒度鎖機制驗證:TM/TX 鎖、意向鎖、死鎖與外鍵索引影響
測試環境建立 CREATE TABLE test (a NUMBER, b NUMBER); ALTER TABLE test ADD CONSTRAINT p
Oracle 批量更新四種方法效能比較:腳本實測與分析
測試環境 軟體:Windows 2000 + Oracle 9i 硬體:CPU 1.8GHz + RAM 512MB 測試資料 -- T2 小表 5000
Oracle Jobs 匯出為執行腳本:DBMS_JOB.SUBMIT 重建指令產生器
需求 將 USER_JOBS 或 DBA_JOBS 中的排程工作匯出為可直接執行的 DBMS_JOB.SUBMIT PL/SQL 區塊,便於遷移或備份。 實作
Oracle Sequence 語法完整參考:建立、使用、修改、刪除與快取機制
一、建立 Sequence CREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次遞增 1
Oracle SUM 與 COUNT 差異解析:彙總函數在 GROUP BY 與 HAVING 中的正確用法
範例資料 ID NAME SHU 1 a 3 2 a 4 3 b 5 4 b 7 5 a (NU
Oracle 10g R2 RMAN 備份實戰:含歸檔與不含歸檔完整流程對照
環境設定 SHOW ALL; CONFIGURE RETENTION POLICY TO REDUNDANCY 1; CONFIGURE BACKUP OPT
Oracle VARCHAR2 欄位查詢不匹配問題:空格干擾與 REPLACE/LPAD 解決方案
問題現象 查詢條件 WHERE varchar_col = ABC123 明明資料表中有該值,卻查無結果。欄位定義為 VARCHAR2(16),實際輸入僅 8
Oracle 常見錯誤代碼排查彙總:ORA-01789、OCI-22053、OCI.DLL、ORA-01555、ORA-24338
1. ORA-01789:查詢區塊結果欄位數不一致 發生情境:UNION、MINUS、INTERSECT 集合運算時,上下查詢欄位數量或型別不符。 解決:調整兩
Oracle 觸發器實作自動遞增主鍵:BEFORE INSERT ROW LEVEL
需求 在資料表 TEST_TABLE 插入資料時,自動從 Sequence SEQ_SA_DATA 取值填入 ID 欄位。 觸發器程式碼 CREATE OR
Oracle 跨 Schema 呼叫預存程序:GRANT EXECUTE 權限設定
情境 資料庫有兩個使用者 ZD 與 SMS。ZD 需呼叫 SMS 底下的預存程序 PROC_DOSMS。 解決方法 以 SMS 帳號登入,授予 EXECUTE
Oracle 匯出匯入指令完整速查:exp/imp 與 Data Pump 對照
傳統 exp/imp 指令(Oracle 10g 以前主流,11g+ 仍支援但建議改用 Data Pump) 1. 完整資料庫匯出/匯入 # 匯出完整資料庫
Oracle 單一資料庫支援多實例:DB_NAME 與 INSTANCE_NAME 差異說明
核心概念 參數說明 DB_NAME 資料庫名稱,最長 8 字元。建庫時寫入資料檔、控制檔、Redo Log。啟動時參數檔與控制檔的 DB_NAME 必須一致
Oracle PL/SQL 二維陣列實作:RECORD + INDEX BY TABLE
需求 在 PL/SQL 中模擬二維陣列,儲存多筆員工資料(編號、姓名、性別/薪資),並能逐筆輸出。 實作範例 CREATE OR REPLACE PROCED
Oracle 回收桶清理:PURGE RECYCLEBIN 指令與最佳實務
現象 執行 DROP TABLE 後,Oracle 10g+ 預設不會立即釋放空間,而是將物件移入回收桶,名稱變為 BIN$...==$0 形式,仍佔用表空間配
Oracle 使用者密碼管理:解鎖、變更與還原密碼實作
適用情境 使用者帳號被鎖定(ORA-28000)。 需以特定使用者身分執行作業,但原密碼未知;可暫時變更密碼,事後還原。 需具備 SYSDBA 或 ALTER