1.偶爾需要清空數據 以前一直用delete 今天發現有個好的辦法:
Truncate Table [表名]
這個可以直接清空數據(delete是逐行刪除)
2.SELECT CASE THEN 的用法
SELECT CODE,CASE SYSPAR.GETLANG WHEN 'EN' THEN LNAME ELSE NVL(CNAME,LNAME) END NAME
FROM PRD;
3.查詢服務器的字符集
SELECT USERENV('LANGUAGE') FROM DUAL;
4.單引號也用單引號轉義
select '''' from dual 結果為 '
5.查看用戶表注釋
SELECT TABLE_NAME,COMMENTS FROM USER_TAB_COMMENTS;
6.oracle 增加和刪除列
add
ALTER TABLE PRD ADD DISPLAY_CODE VARCHAR2(30);
delete
刪除列的2種方法
alter table qq drop column TIME
alter table qq set unused ("TIME") cascade constraints;(注意TIME為字段名,要大寫)
第一個命令直接刪除一個列,適合應付比較小的表,
第二個命令將一個列標識為unused
然后在系統負載比較輕的時候使用
alter table drop unused columns
刪除該列占用的存儲空間。
可以使用參數指定一次刪除多少行
適合負載比較重,或者表比較大的情況
7.新建一個表時需要賦權限和建同義詞
GRANT ALL ON DBOWN.PROD TO APPUSER;
GRANT SELECT,DELETE,UPDATE,INSERT ON DBOWN.ORDSTYLES TO APPUSER;
CREATE OR REPLACE PUBLIC SYNONYM ORDSTYLES FOR ORDSTYLES;
8.物化視圖
EXEC DBMS_SNAPSHOT.refresh('GRANTEDPRIV');
posted on 2008-09-25 10:09
譚明 閱讀(184)
評論(0) 編輯 收藏 所屬分類:
Oracle