Oracle中startwith…connectbyprior子句用法connectby是結構化查詢中用到的,其基本語法是:select…fromtablenamestartwith條件1connectby條件2where條件3;例:select*fromtablestartwithorg_id=‘HBHqfWGWPy’connectbypriororg_id=parent_id;簡單說來是將一個樹狀結構存儲在一張表里,比如一個表中存在兩個字段:org_i
系統 2019-08-12 01:54:14 2374
oraclerowid詳解今天是2013-09-15,存儲在數據庫中的每一行數據都有一個地址,oracle使用rowid數據類型在存儲地址。rowid有如下類別:1)physicalrowids,存儲堆表、簇表以及表和索引分區中每行地址2)logicalrowids,存儲索引組織表的每行的地址3)foreignrowids,定義在外部表中。如通過gateway訪問db2表,這不是標準數據rowids在oracle數據庫中有一個偽劣的叫rowid,這個偽劣像
系統 2019-08-12 01:52:50 2374
RoleTransitionsInvolvingPhysicalStandbyDatabasesAdatabaseoperatesinoneofthefollowingmutuallyexclusiveroles:primaryorstandby.DataGuardenablesyoutochangetheserolesdynamicallybyissuingtheSQLstatementsdescribedinthischapter,orbyusinge
系統 2019-08-12 01:54:25 2373
Oracle單表的復雜查詢selectavg(sal),max(sal),deptnofromempgroupbydeptno;selectavg(sal),max(sal),deptnofromempgroupbydeptnohavingavg(sal)>2000orderbydeptno;查詢工資高于500或者是崗位為MANAGER的雇員,同時還要滿足他們的姓名首字母為大寫的J?select*fromempwhere(sal>500orjob='man
系統 2019-08-12 01:54:19 2373
--聲明游標;CURSORcursor_nameISselect_statement--For循環游標--(1)定義游標--(2)定義游標變量--(3)使用for循環來使用這個游標declare--類型定義cursorc_jobisselectempno,ename,job,salfromempwherejob='MANAGER';--定義一個游標變量v_cinfoc_emp%ROWTYPE,該類型為游標c_emp中的一行數據類型c_rowc_job%ro
系統 2019-08-12 01:54:14 2373
#1.系統日期、時間函數^1.SELECTTO_CHAR(SYSDATE,'YYYY-MM-DDHH24:MI:SS')FROMDUAL--查詢系統當前日期^2.SELECTSYSTIMESTAMPFROMDUAL--查詢帶時區的系統日期^3.SELECTDBTIMEZONEFROMDUAL--查詢當前時區SELECTSESSIONTIMEZONEFROMDUAL--查詢當前會話的時區^4.SELECTTO_CHAR(ADD_MONTHS(TO_DATE(
系統 2019-08-12 01:52:38 2373
我們知道Oracle數據庫熱備有3步:1.altertablespacetbnamebeginbackup;2.cp/×××to/××3.altertablespacetbnameendbackup;這個過程要盡可能短,否則會造成大量的redolog。那么,數據庫在你執行beginbackup時,系統做了什么呢?1.tablespace發生了一次checkpoint------會把buffer臟數據全部寫入到數據文件2.tablespace下的數據文件的文
系統 2019-08-12 01:55:01 2372
SQL中的單記錄函數1.ASCII返回與指定的字符對應的十進制數;SQL>selectascii('A')A,ascii('a')a,ascii('0')zero,ascii('')spacefromdual;AAZEROSPACE------------------------------------659748322.CHR給出整數,返回對應的字符;SQL>selectchr(54740)zhao,chr(65)chr65fromdual;ZHC---
系統 2019-08-12 01:52:55 2372
在查看sql執行計劃時,我們會發現表的連接方式有多種,本文對表的連接方式進行介紹以便更好看懂執行計劃和理解sql執行原理。一、連接方式:嵌套循環(NestedLoops(NL))(散列)哈希連接(HashJoin(HJ))(歸并)排序合并連接(SortMergeJoin(SMJ))二、連接說明:1.Oracle一次只能連接兩個表。不管查詢中有多少個表,Oracle在連接中一次僅能操作兩張表。2.當執行多個表的連接時,優化器從一個表開始,將它與另一個表連接;
系統 2019-08-12 01:54:16 2369
模塊一SQL(DQL)l基本SQL查詢l運算符與函數l子查詢l連接查詢建表語句emp.sqlPartI(第一天)01.查詢員工表所有數據,并說明使用*的缺點答:select*fromemp;使用*的缺點有a)查詢出了不必要的列b)效率上不如直接指定列名02.查詢職位(JOB)為'PRESIDENT'的員工的工資答:select*fromempwherejob='PRESIDENT';03.查詢傭金(COMM)為0或為NULL的員工信息答:重點是理解0與nu
系統 2019-08-12 01:53:35 2369
在oracle10g環境下:1.查看sql執行計劃:autotrace>setautotraceon>setautotraceoff默認情況是off2.查看sql運行軌跡:sql_trace和10046event1)本session內:開啟>altersessionsetsql_trace=true;關閉>altersessionsetsql_trace=false;默認情況是false;2)其他用戶session:查詢其他session>selectsi
系統 2019-08-12 01:51:48 2369
函數索引SELECT*FROMDEMOTWHEREF7='F';SELECT*FROMDEMOTWHERELOWER(F7)='f';F7上本來是有位圖索引的,但是使用了LOWER函數后,就進行了全表掃面。下面我們來創建F7列上的函數索引LOWERCREATEINDEXFUN_INDEXONDEMOT(LOWER(F7));5seconds再看執行計劃,發生了變化,使用了索引掃描。聚合函數本身在oracle就創建了索引。復合索引/組合索引一個問題:創建索引
系統 2019-08-12 01:55:23 2368
--======================--Oracle備份恢復概念--======================數據庫維護中,備份或恢復是重中之重的問題。盡管很多時候數據庫系統運行緩慢,但對數據庫數據的丟失而言,顯然后者損失的代價是不言而喻的。因此DBA至少在保證數據不丟失的情況下來提高系統的性能是最起碼的要求。關于什么是備份與回復,在此不做贅言。一、物理備份與邏輯備份物理備份是所有物理文件的一個副本,比如數據文件,控制文件,歸檔日志等。該副本
系統 2019-08-12 01:53:07 2368
ORACLE日期_:submitdate=DateTime.Parse(submitdate).ToString("d-M月-yyyy");當前時間:sysdate()to_date('2002-01-02','yyyy-M-dd')selectcount(1)fromL_PERMwhereCANCEL<>'Y'and(sysdate-perm_date)>3在PL/SQLDevelop中調試、作試驗,我寫入以前在SQLServer中的SQL語句:INSE
系統 2019-08-12 01:52:11 2368
出處:http://blog.sina.com.cn/s/blog_59ca2c2a0101ilv1.htmlBlobToClob函數,代碼如下:--先創建Blog轉換為Clob的functionCREATEORREPLACEFUNCTIONBlobToClob(blob_inINBLOB)RETURNCLOBASv_clobCLOB;v_varcharVARCHAR2(32767);v_startPLS_INTEGER:=1;v_bufferPLS_IN
系統 2019-08-12 01:53:52 2366