標籤:1.開啟sql plus 2.使用system登入3.使用select sys_context (‘USERENV‘, ‘CON_NAME‘) from dual; 查看目前使用者是CDB使用者還是PDB使用者4.使用 alter pluggable database pdborcl open;開啟pdb模式5.使用alter session set container=PDBORCL;切換到pdb6.此時再使用select sys_context (‘USERENV‘
標籤:1.表中有四個欄位:人員編號,開始時間,結束時間,類型,資料ID,需要實現如下需求a.當類型為-1時,丟棄該記錄b.當類型為-1時,且前一行結束時間為null,當前行的開始時間-1作為前一行的結束時間c.如果後面的時間比前面的時間早,則覆蓋前面的時間,不能覆蓋的時間要保留d.時間段重疊的要合并為一行with x1 as(select userid,startdate,coalesce(min(case when type=-1 then add_months(startdate,-1)
標籤:1.Oracle、MySQL插入時返回下一個主鍵的操作Xml代碼 Oracle:<insert id="insert" parameterClass="ROLE"><selectKey keyProperty="id" resultClass="java.lang.Long" type="pre"> SELECT SEQ_ROLE.NEXTVAL AS ID FROM DUAL</selectKey> insert
標籤:oracle中對於訪問頻率很高的包,預存程序或者函數,會引起死結。對於用到了死結的對象的指令碼都會無法運行,造成卡死,或者報異常:開啟的串連太多。這時需要使用dba許可權賬戶去kill掉死結的對象。使用 alter system kill session 死結對象的ID;執行如下sql,尋找出死結的ID,並將alter語句拼接好:select Distinct ‘alter system kill session
標籤:資料庫中資料處理時,經常需要對某一類的資料取Top n,這就涉及到分組group by 並排序 order by ,之後根據rownum擷取前幾名資料,oracle資料庫中ROW_NUMBER() OVER函數可以實現這個功能,如下:/*擷取tab_a表中每個省份counts最大的前10個kpi*/SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY prov ORDER BY counts DESC) rn,
標籤:ORACLE:--時間轉字串TO_CHAR(SYSDATE,‘YYYYMMDDHH24MISS‘)--字串轉時間select TO_DATE(‘20140701125751‘,‘YYYYMMDDHH24MISS‘) from dual -- 2014-07-01 12:57:51--查詢tableSELECT * FROM ALL_TABLES WHERE TABLE_NAME =‘{0}‘--查詢columnSELECT aa.
標籤: OS Info----------# cat /etc/redhat-releaseRed Hat Enterprise Linux Server release 5.5 (Tikanga)# cat /etc/issue.netRed Hat Enterprise Linux Server release 5.5 (Tikanga)Kernel r on an m# uname -rm2.6.18-194.el5 x86_64# echo
標籤: 1,觸發器內容如下CREATE OR REPLACE TRIGGER"LOGON_DENIED_TO_ALERT" AFTER servererror ON DATABASEDECLARE message VARCHAR2(168); ip VARCHAR2(15); v_os_user VARCHAR2(80)