Time of Update: 2018-12-05
經常有同事諮詢oracle資料庫字元集相關的問題,如在不同資料庫做資料移轉、同其它系統交換資料等,常常因為字元集不同而導致遷移失敗或資料庫內資料變成亂碼。現在我將oracle字元集相關的一些知識做個簡單總結,希望對大家今後的工作有所協助。 一、什麼是oracle字元集 Oracle字元集是一個位元組資料的解釋的符號集合,有大小之分,有相互的包容關係。ORACLE 支援國家語言的體繫結構允許你使用本地化語言來儲存,處理,檢索資料。它使資料庫工具,錯誤訊息,排序次序,日期,時間,貨幣,數字,
Time of Update: 2018-12-05
資料完整性 約束,索引,許可權和角色資料完整性: 資料完整性用以確保資料庫資料遵從一定的商業和邏輯規則。在Oracle中,資料完整性可以使用約束、觸發器、應用程式(過程和函數)三種方法來實現,這三種方法中,因為約束易於維護,並且具有最好的效能,所以作為維護資料完整性的首選。 約束 約束用以確保資料庫資料滿足特地的商業規則。在Oracle中,約束包括:not null :非空如果在列上定義了not null,那麼插入資料時必須為該列提供資料,否則插不進去。unique :唯一當定義了唯一約束以後,
Time of Update: 2018-12-05
Oracle的表查詢 前提:搞清楚scott的幾張表的含義EMP:僱員表 欄位類型注釋EMPNO 員工編號ENAME 員工姓名JOB 員工職位MGR 上級編號HIREDATE 入職日期SAL 薪水COMM 獎金DEPTNO 部門編號 DEMP:部門表 欄位類型注釋DEPTNO NUMBER(2)部門編號DNAME VARCHAR2(14)部門名字LOC VARCHAR2(13)所處位置 SALGRADE:工資層級表
Time of Update: 2018-12-05
Oracle複雜查詢 資料分組,分組函數max, min, avg, sum, count查詢工資最高的人的姓名 select ename from emp where sal = (select max(sal) from emp);給所有低於平均工資的員工薪水上漲10% update emp set sal = (select avt(sal) from emp)*10% where sal<(select avt(sal) from emp);grout by 和 having
Time of Update: 2018-12-05
Oracle中的事務和內建函數 什麼是事務?事務用於保證資料的一致性,它有一組相關的DML語句組成,該組的語句要麼全部成功,要麼全部失敗。如,網上轉賬就是典型的交易處理,用以保證資料的一致性。事務和鎖:當執行事務操作時(DML語句),Oracle會在被作用的表上加鎖,防止其他使用者修改表的表結構,這點對使用者來講是非常重要的。事務的幾個重要操作:設定儲存點 savepoint a1;取消部分事務,復原操作 rollback to a1;取消全部事務
Time of Update: 2018-12-05
管理資料表空間和資料檔案 資料表空間是資料庫的邏輯組成部分。 從物理上講,資料庫的資料存放在資料檔案中的;從邏輯上講,資料庫則是存放在資料表空間中的,資料表空間是由一個或多個資料檔案組成的。 資料庫的邏輯結構 Oracle中邏輯結果包括資料表空間、段、區和塊。說明:資料庫是由資料表空間構成,而資料表空間又是由段構成,而段又是由區構成,而區又是由Oracle塊構成的這樣一種結構。這樣做可以提高資料庫的效率。 資料表空間
Time of Update: 2018-12-05
文章目錄 Oracle ListenerOracle Management Agent Linux下可以使用ps命令來查看Oracle相關的進程Oracle Listener這個命令會列出Oracle Net Listener的進程[oracle@bej301441 ~]$ ps -ef | grep tnslsnr oracle 1999 29986 0 09:47 pts/2 00:00:00 grep tnslsnr
Time of Update: 2018-12-05
1、Oracle 伺服器是一個資料管理系統(RDBMS),它提供開放的、全面的近乎完美的資訊管理。Oracle 是由一個 Oracle 執行個體和一個 Oracle 資料庫組成。Oracle 伺服器由兩大部分組成,Oracle 資料庫和 Oracle 執行個體。(1)Oracle 資料庫是位於硬碟上實際存放資料的檔案,這些檔案組織在一起成為一個邏輯整體,即為 Oracle 資料庫。因此在 Oracle 看來,資料庫是指硬碟上檔案的邏輯集合,必須要在記憶體裡的執行個體合作才能對外提供資料管理服務。
Time of Update: 2018-12-05
sysdate為系統日期 dual為虛表 日期函數[重點掌握前四個日期函數] 1.add_months[返回日期加(減)指定月份後(前)的日期] select sysdate S1,add_months(sysdate,10) S2, add_months(sysdate,5) S3 from dual; 2.last_day [返回該月最後一天的日期] select last_day(sysdate) from dual; 3.months_between[返回日期之間的月份數]
Time of Update: 2018-12-05
用到了 SYS.DBA_FREE_SPACE、SYS.DBA_DATA_FILES 兩個視圖,需要被賦予在這兩個視圖對象上的查詢許可權。-- connect as sysdbaGRANT SELECT ON SYS.DBA_FREE_SPACE TO FORREST; GRANT SELECT ON SYS.DBA_DATA_FILES TO FORREST; 查看 Oracle 資料表空間使用率 -- connect as forrest SELECT
Time of Update: 2018-12-05
oracle資料中定義為clob類型的欄位,如果用rs.getString()方法擷取,值一直為nul,無法取出用rs.getClob()取出來為Clob型需把Clob型轉為String類型 Java 代碼 rs = pstmt.executeQuery();while(rs.next()){ Reader reader = rs.getClob("afterStepScript")
Time of Update: 2018-12-05
假如有如下表,其中各個i值對應的行數是不定的SQL> select * from t; I A D---------- ---------- ------------------- 1 b 2008-03-27 10:55:42 1 a 2008-03-27 10:55:46 1 d 2008-03-27 10:55:30 2 z
Time of Update: 2018-12-05
Oracle9i引入了MERGE命令,你能夠在一個SQL語句中對一個表同時執行inserts和updates操作. MERGE命令從一個或多個資料來源中選擇行來updating或inserting到一個或多個表.在Oracle
Time of Update: 2018-12-05
1、SQLSERVER中的寫法: --更新上傳點表資料 update ID_MASTER set ONCALL_ID=Tb_Points.ONCALL_ID, ServerName=Tb_Points.ServerName, SISCode = Tb_Points.SISCode, LOC_ID = Tb_Points.JZCode,
Time of Update: 2018-12-05
可能原因如,請一一核對:1、如果你以sys使用者登入的話,串連身份請選擇【as sysdba】 說明:如果你的sys使用者密碼在安裝的時候沒有修改,他的預設密碼是: 【change_on_install】。 如果你改了忘記了,可以利用如下方法重設: 1)進入cmd 2)sqlplus / as sysdba 3)alter user sys identified by 新密碼;
Time of Update: 2018-12-05
oracle刪除序列化:DROP SEQUENCE seq_itv_collection;oracle建立序列化:CREATE SEQUENCE seq_itv_collection INCREMENT BY 1 -- 每次加幾個 START WITH 1399 -- 從1開始計數 NOMAXVALUE -- 不設定最大值 NOCYCLE --
Time of Update: 2018-12-05
Oracle over()函數的使用執行個體Oracle over()函數是經常用到的函數,下面就為您介紹兩個使用Oracle over()函數的例子,希望可以讓你對Oracle over()函數有更深的認識。1.先來一個簡單的,注意over(...)條件的不同,使用sum(sal) over (order by ename)... 查詢員工的薪水“連續”求和,注意over (order by ename)如果沒有order by
Time of Update: 2018-12-05
問題1:Oracle對於小於1的小數,小數點前面的0是不顯示的。可以通過select to_char('0.66556','0000.9999') from dual 這樣輸出的小數是保留小數前面的0的問題2:對於小數以後為0的,oracle不顯示select to_char('0.1', '9999990.00000') from dual 這樣得到數值是保留5位小數的,不足的補0,結果是: 0.10000可以通過格式化,將空格去除select to_char('0.1', 'fm99
Time of Update: 2018-12-05
CREATE TABLE t1 (id NUMBER(10),description VARCHAR2(50),CONSTRAINT t1_pk PRIMARY KEY (id));CREATE SEQUENCE t1_seq;INSERT INTO t1 VALUES (t1_seq.nextval, 'ONE');INSERT INTO t1 VALUES (t1_seq.nextval, 'TWO');INSERT INTO t1 VALUES (t1_seq.nextval,
Time of Update: 2018-12-05
to_date('2004-3-24 15:59:9','YYYY-MM-DD HH24:MI:SS')出處:http://www.hkln.net/doc/oracle/sql/function.htm#a8簡 介 下 一 節 到 頁 頂 Oracle 提 供 了 一 些 基 本 的 函 數 , 用 來 運 算 資 料 , 這 些 函 數 可 分 為 以 下 幾 類 : 文 字 數 目 日 期 其 它 類 別 。 本 章 所 介 紹 的 函