Time of Update: 2018-12-08
Pro*c程式中Oracle和C之間的類型變換規則:VARCHAR2(n)char[n+1]CHARchar[1+1]CHAR(n)char[n+1]NUMBERVARCHAR[38+2]NUMBER(p)int p < 10double 10 <= p < 16VARCHAR[n] p >= 16NUMBER(p,s)p < 16 時:doublep >= 16 時:VARCHAR[n] 當s <= 0
Time of Update: 2018-12-08
這裡簡單記錄一下了:記錄一:N久前裝過Oracle 10,前兩天重新登陸一下,發現登陸不了,老是報host不存在之類的錯誤,導致資料庫重裝了又刪,刪除了又建,如此迴圈。解決:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->最後發現是不久N前修改了計算名稱引起的,在C:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN
Time of Update: 2018-12-08
說明:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->為了CYQ.Data 架構 CYQ.Data 輕量資料層之路 架構開源系列
Time of Update: 2018-12-08
NBearLite 更新至v1.0.0.6 beta 全面支援SqlServer,Oracle,MySql,PostgreSql資料庫預存程序調用代碼產生(C#/VB.NET),支援輸入、輸出、返回等各種參數類型。支援Sub Query。支援Save
Time of Update: 2018-12-08
當我們用 select sysdate+number from dual ;我們得到的是,當前的時間加上number天后的時間。從這裡我們也可以看出,使用這種方式進行時間計算的時候,計算的單位是天,那麼,如果我們如果要擷取系統時間加上幾個小時候的時間,我們應該怎麼算呢?很容易,以此類推我們可以寫成如下的格式: select sysdate + number/24 from dual ; 同理,如果我們要擷取多少分鐘後時間,我們就可以使用 select sysdate +
Time of Update: 2018-12-08
使用OracleClient 來操作Oracle(Version - 7.3.4.4.0) 發現當遇到字串內容為中文的時候無法使用parameter 的形式來得到select 的結果。跟蹤調試整個過程沒有發現任何異常的情況。最後使用Oledb問題解決。個人總結,在Oracle(Version - 8以上版本)可以使用OracleClient沒有問題。當Oracle(Version - 8以下版本) 還是使用Oledb的好。如果發現.net
Time of Update: 2018-12-08
Oracle的QueryHint竟然有120多個,包括Undocument的,有180多,太多太多了。大型項目的開發過程中,也許要保留這些QueryHint讓最終的實施人員可以根據實際情況進行配置。我也發現了一個中文的介紹Oracle效能最佳化的系列文章:ORACLE SQL效能最佳化系列http://www.dbonline.cn/source/oracle/20031218/oracle%20SQL%20performance%20tuning1.htmlOracle的Hints列表(英文)
Time of Update: 2018-12-08
開發中大家應該都做過什麼類似部門管理這樣的功能,一般情況下一個部門下面還有下一級部門(子部門),這個層級就類似一棵樹。這種情況下一般會把父級部門和子級部門分成2個或者多個表,這種算是比較常規的做法;有時可能為了資料表管理的方便 就把所有的部門放在一張表裡並加上一個欄位標識部門之間的隸屬關係,這樣子看起來有點奇怪,但湊合用用還是Ok的。下面我跟大家分享下我的心得,也就是基於這種設計怎麼做數形圖,簡單的做法就是查詢出一個list集合就可以,要怎麼辦呢先來看下我的資料表
Time of Update: 2018-12-08
1.最佳化應用程式和商務邏輯,這個是最重要的。 2.資料庫設計階段範式和反範式的靈活應用。一般情況下,對於頻繁訪問但是不頻繁修改的資料,內部設計應當物理不正常化;對於頻繁修改但並不頻繁訪問的資料,內部設計應當物理正常化。 3.充分利用記憶體,最佳化sga、pga等(11g已經實現了sga+pga自動化,但有的時候仍然需要手動進行調整),適當的將小表keep到cache中。 4.最佳化sql語句
Time of Update: 2018-12-08
1.建立連接字串,裡麵包含資料庫名稱、使用者名稱和密碼2.建立操作字串,裡面是對資料操作的SQL語句3.建立Connection,用連接字串作為參數建立4.建立Command,用操作字串和Connection作為參數5.建立DataAdapter,用Command作為參數複製代碼 代碼如下:string cosn = "Data Source=172.20.65.236;User Id=bjmedicare_qy;Password=bjmedicare_qy";
Time of Update: 2018-12-08
當你用start with connect by nocycle prior 進行遞迴尋找資料的時候那麼下面兩段代碼的效能肯定是有明顯差別的大家用的時候 請注意了代碼可以不看下面 直接看我的總結 //查詢某個檔案夾檔案夾ID=12裡面的層次數以及 檔案的個數 A:為檔案之間的關聯關係 上下級關係 B:為檔案夾裡面的檔案 正解: 複製代碼 代碼如下:select count(0) cou,max(levels)+1 as levels select C.a1,C.a2,C.levels...
Time of Update: 2018-12-08
1、建立表 複製代碼 代碼如下:createtableTest_Increase( useridnumber(10)NOTNULLprimarykey,/*主鍵,自動增加*/ usernamevarchar2(20) ); 2、建立自動成長序列 複製代碼 代碼如下:CREATESEQUENCETestIncrease_Sequence INCREMENTBY1--每次加幾個 STARTWITH1--從1開始計數 NOMAXVALUE--不設定最大值,設定最大值:maxvalue9999
Time of Update: 2018-12-08
適用情況: oracle 對查詢結果進行排序時,被排序的欄位存在null值,且要指定NULL值排在最前面或者最後面 關鍵字:Nulls First;Nulls Last 預設情況:null 預設為最大值(即:asc 升序<小-->大>,null值排在最後;desc 降序<大-->小>,null值排在最前面) 指定: 1.Oracle Order by支援的文法 2.指定Nulls first 則表示null值的記錄將排在最前(不管是asc 還是desc) 3.
Time of Update: 2018-12-08
較典型的問題有:有時,表明明建有索引,但查詢過程顯然沒有用到相關的索引,導致查詢過程耗時漫長,佔用資源巨大,問題到底出在哪兒呢?按照以下順序尋找,基本上能發現原因所在。 尋找原因的步驟 首先,我們要確定資料庫運行在何種最佳化模式下,相應的參數是:optimizer_mode。可在svrmgrl中運行“showparameteroptimizer_mode"來查看。ORACLEV7以來預設的設定應是"choose",即如果對已分析的表查詢的話選擇CBO,否則選擇RBO。如果該參數設為“rule”,
Time of Update: 2018-12-08
本文講述SQL Server、Oracle、MySQL查出值為NULL的替換。 在SQL Server Oracle MySQL當資料庫中查出某值為NULL怎麼辦? 1、MSSQL: ISNULL() 文法 Java代碼 複製代碼 代碼如下:ISNULL ( check_expression , replacement_value ) ISNULL ( check_expression , replacement_value ) 參數 check_expression 將被檢查是否為
Time of Update: 2018-12-08
oracle中lpad的用法 pad翻譯:填充 lpad函數,在字串的左側添加指定字串,用法: www.2cto.com lpad(String ,截取長度,添加的字串)。 說是添加字串也不準確,比較準確的說法是對String進行截取字串, 如果截取長度大於String的長度,則在 String的左側添加字串進行填補,如果第三個參數未指定,則用空格進行填補。 例如: select lpad('test',10) from dual; 將返回“ test” select lpad('test',1
Time of Update: 2018-12-07
下稱字元集為WE8ISO8859P1為源庫,字元集為ZHS16GBK的資料庫為目標庫。1.設定用戶端字元集為WE8ISO8859p1(通過設定註冊表的HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG為AMERICAN_AMERICA.ZHS16GBK來設定),然後匯出源庫至dmp檔案2.用有DBA許可權的使用者登入狀態normal強行修改目標庫的執行個體字元集為WE8ISO8859P1:create database character set
Time of Update: 2018-12-07
1)、檢查叢集狀態: [grid@rac02 ~]$ crsctl check cluster CRS-4537: Cluster Ready Services is online CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online2)、所有 Oracle 執行個體 —(資料庫狀態): [grid@rac02 ~]$ srvctl status database -
Time of Update: 2018-12-07
在Oracle中查看所有的表: select * from tab/dba_tables/dba_objects/cat; 看使用者建立的表 : select table_name from user_tables; //目前使用者的表 select table_name from all_tables; //所有使用者的表 select table_name from dba_tables; //包括系統資料表 select * from user_indexes
Time of Update: 2018-12-07
定義一個表mi_prodces有兩個欄位cs_id intcs_verid int其中id可以重複,但是cid值是增長的,也就是說同一個id對應多個cid,現在要查出某個id下,最大的cid,id只能顯示一次。試著用oracle的distinct語句,但是distinct語句只能對一個欄位起作用,可以採用的方法是如下語句。select a.cs_id ,a.cs_verid,a.cs_code from mi_prodces awhere cs_verid in (select