Oracle


模糊搜索
%:表示任意個 任意的字符,能夠零個字符
_:表示一個 , 任意的字符
name like '8355703%'

select
('前綴' || SEQ) 

select
concat( ' 前綴',  SEQ )

select 下的 || 是拼接字符串的簡寫語法糖

獨有的特殊的用法

(+)就是鏈接
就是一個右鏈接,等同於

select a.*, b.*
from a right join b
on  a.b = b.b
以右邊的爲主

等同於
select  a.*, b.*
from a,b
where a.b = b.b (+)

(+) 放在非主表的一方

Number能夠是整數也能夠是小數,並可限制精度
Integer不是標準的oracle數據類型,爲了兼容纔有的。數據庫中以number(38)的精度處理。smallint等也是同樣。


":="是賦值語句 如: l_name :='sky';
把右邊的值給左邊

"=" 是判斷是否相等. 如: if 1=1 then...
":" 是變量綁定 如: if :P_NAME ='sky' then...

官方文檔


http://www.oracle.com/technetwork/database/enterprise-edition/documentation/index.html


Oracle 12c
安裝步驟和常見問題的解決方法
https://www.cnblogs.com/2206411193qzb/p/7352276.html

全新的 Windows 用戶 , 官方說千萬不要拿它來登陸電腦
root
zzzz
界面 :




口令不標準 , 沒事
zzzz





安裝後 , 處理以前手動忽略掉的環境變量問題

{

分析 :
打開win+r 窗口 , 輸入 sqlplus.exe 會提示找不到文件,這就是環境變量問題

解決方案:
個人電腦(右擊)->屬性->環境變量->下面有個系統變量->找到path(雙擊)->新建
目錄是你本身設定的Oracle的安裝位置 , 這是個人path內容:
E:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN

默認的路徑是
C:\app\root\product\12.2.0\dbhome_1\network\admin

把它添加到環境變量裏 , 我是寫成單獨的一個環境變量 ,  key 我寫  Oracle

在文件管理器中根據這個目錄依次找到admin,而後複製進path裏的新建框
)。 

確認 環境變量 是否配置正確 :

打開win+r 窗口 , 輸入 cmd , 而後回車
%Oracle%
出現以下文字說明正常 :

C:\Users\hzuha>%Oracle%
'C:\app\root\product\12.2.0\dbhome_1\network\admin' 不是內部或外部命令,也不是可運行的程序
或批處理文件。

確認 環境變量配置正常後Oracle是否也正常了 :

打開win+r 窗口 , 輸入 sqlplus.exe
出現此窗口說明正常 :

 


}
html



經常使用語句


alter table  CPRD01MT
add ( PRDIMGTIMELIMITED  varchar2(100) default '這是列的默認值 , 不是列的備註' null ) ;

不要默認值的話 , 去掉 ->    default '這是列的默認值 , 不是列的備註'




Select * from A minus select * from B;

以 A 表爲主 , 遍歷 A 表 , 看哪些是 B 裏沒有的
https://www.cnblogs.com/lcword/p/5857894.html

LEFT JOIN 
別用特別的語法 --> (+)



Oracle and or 寫法
前後順序

and 的優先級比 or的高 , 因此先處理 and
例如
a or b and c
先計算出 b and c 的結果( 好比 temp ) , 再去計算 a or temp

注意 , 容易出現順序錯誤 , 語法是對的 , 可是語義是錯的 , 達不到想要的效果

能夠寫兩個 LEFT JOIN
FROM CORD01DT cord01dt
      LEFT JOIN CORD04DT cord04dt ON cord01mt.SEQ = cord04dt.SEQ
      LEFT JOIN CORD01MT cord01mt ON cord04dt.ORDSEQ = cord01mt.SEQ
      
CORD01DT   LEFT JOIN  CORD04DT   LEFT JOIN  CORD01MT
三表都左外鏈接



AND ( cord04dt.ORDSTATCD = 'OA0801' OR cord04dt.ORDSTATCD = 'OA0802' )
AND cord04dt.ORDSTATCD IN ('OA0801', 'OA0802' )


union 和 union all
https://www.cnblogs.com/yuanchaoyong/p/6213885.html


分組排序
PARTITION BY 根據 xx 分組
https://www.cnblogs.com/shined/archive/2013/01/16/2862809.html

ROW_NUMBER() OVER (
    PARTITION BY CSTMNO 
    ORDER BY CREATEAT DESC
) AS RN
ROW_NUMBER() 能夠獲得排序後的序號

排序過程當中若是有並列的數據的話 , 能夠順位地編號 , 也能夠跳躍 : / Oracle Partition By 的使用
https://www.cnblogs.com/jak-black/p/4210653.html

oracle 兩表數據對比 ,  取差集---minus
https://www.cnblogs.com/lcword/p/5857894.html


ORACLE中 decode 函數
https://www.cnblogs.com/fengjunming/p/7966441.html



老家
連江
最偏遠的村子
兩個半的小時

晚上家裏人


問題


沒權限建立序列表



新的表的主鍵來自一張序列表 , 可是建立這表的時候
報錯 , 說沒權限













相關文章
相關標籤/搜索