2010年7月19日 星期一
Use '&' in oracle Database
[ & ]後面的字串會當做變數處理(變數首碼符號)
set define off;
insert ......
set define on
2010年7月15日 星期四
oracle 自動新增欄位 procedure
SET SERVEROUTPUT ON; --ENABLE
EXEC DBMS_OUTPUT.ENABLE(1000000);
DECLARE
B NUMBER;
BEGIN
SELECT COUNT(*)
INTO B
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'TABLE_A' AND COLUMN_NAME = 'COLUMN_A';
IF B = 0
THEN
EXECUTE IMMEDIATE 'ALTER TABLE TABLE_A ADD(COLUMN_A NVARCHAR2(100) DEFAULT ''IB'' )';
DBMS_OUTPUT.PUT_LINE('ALTER TABLE TABLE_A ADD(COLUMN_A NVARCHAR2(100) DEFAULT ''IB'' )');
END IF;
2010年6月29日 星期二
Oracle imp/exp file
imp userid/password@SID file=d:\file_name.dmp ignore=y tables=(table1);
tables=(table1) is option
2010年6月14日 星期一
MS SQL rename table
EXEC sp_rename 'OldTableName', 'NewTableName'
EXEC sp_rename
@objname = 'TableName.OldColumnName',
@newname = 'NewColumnName',
@objtype = 'COLUMN'
2010年3月2日 星期二
Oracle marge into
否則 insert
MERGE INTO Table1 target
USING Table2 source
ON (target.COLUMN1 = source.COLUMN1)
WHEN MATCHED THEN UPDATE SET taeged.COLUMN2 = source.COLUMN2
WHEN NOT MATCHED THEN
INSERT /** (target.COLUMN1, target.COLUMN2, target.COLUMN3) **/
VALUES (source.COLUMN1, source.COLUMN2, source.COLUMN3)
;
2010年1月12日 星期二
MSN 檔案傳輸掃毒設定
Antivir
MSN > 工具 > 選項 > 檔案傳輸 > 勾選「使用下列軟體進行病毒掃瞄(V)」
[瀏覽] AntiVir 安裝資料夾裡的avscan.exe
並在後面加上參數" /GUIMODE=3 /PATH=%FILE%" (包含空格,不包含引號)
完成後應該像這樣
"C:\Program Files\AntiVir PersonalEdition Classic\avscan.exe" /GUIMODE=3 /PATH=%FILE%
GUIMODE=3 完全不會跳出視窗
GUIMODE=2 跳出簡易檢視視窗
GUIMODE=1 跳出完整檢視視窗
Kaspersky
MSN > 工具 > 選項 > 檔案傳輸 > 勾選「使用下列軟體進行病毒掃瞄(V)」
[瀏覽] 找到安裝 KIS/KAV 的目錄
- KAV 6 "C:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus 6.0\avp.exe"
- KIS 6 "C:\Program Files\Kaspersky Lab\Kaspersky Internet Security 6.0\avp.exe"
- KAV 7 "C:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus 7.0\avp.exe"
- KIS 7 "C:\Program Files\Kaspersky Lab\Kaspersky Internet Security 7.0\avp.exe"
並在後面加上參數" scan %1" (包含空格,不包含引號)
完成後應該像這樣
"C:\Program Files\Kaspersky Lab\Kaspersky Internet Security 6.0\avp.exe" scan %1
Kaspersky 7.0則路徑為 Kaspersky Anti-Virus 7.0或Kaspersky Internet Security 7.0
NOD32 (自動關閉視窗)
MSN > 工具 > 選項 > 檔案傳輸 > 勾選「使用下列軟體進行病毒掃瞄(V)」
[瀏覽] NOD32 安裝資料夾裡的nod32.exe
並在後面加上參數" /quit" (包含空格,不包含引號)
完成後應該像這樣
C:\Program Files\ESET\nod32.exe /quit
Norton AntiVirus
MSN > 工具 > 選項 > 檔案傳輸 > 勾選「使用下列軟體進行病毒掃瞄(V)」
[瀏覽] Norton AntiVirus 安裝資料夾裡的ccIMScn.exe
完成後應該像這樣
C:\Program Files\Norton SystemWorks\Norton AntiVirus\ccIMScn.exe
Norton AntiVirus 2003/2004/2005 需先進行 LiveUpdate 。
Avast
MSN > 工具 > 選項 > 檔案傳輸 > 勾選「使用下列軟體進行病毒掃瞄(V)」
[瀏覽] Avast 安裝資料夾裡的ashQuick.exe
完成後應該像這樣
C:\Program Files\Alwil Software\Avast4\ashQuick.exe
2009年10月1日 星期四
Key Code Reference Table
Key Code Reference Table
Key Pressed | Javascript Key Code |
| backspace | 8 |
| tab | 9 |
| enter | 13 |
| shift | 16 |
| ctrl | 17 |
| alt | 18 |
| pause/break | 19 |
| caps lock | 20 |
| escape | 27 |
| page up | 33 |
| page down | 34 |
| end | 35 |
| home | 36 |
| left arrow | 37 |
| up arrow | 38 |
| right arrow | 39 |
| down arrow | 40 |
| insert | 45 |
| delete | 46 |
| 0 | 48 |
| 1 | 49 |
| 2 | 50 |
| 3 | 51 |
| 4 | 52 |
| 5 | 53 |
| 6 | 54 |
| 7 | 55 |
| 8 | 56 |
| 9 | 57 |
| a | 65 |
| b | 66 |
| c | 67 |
| d | 68 |
| e | 69 |
| f | 70 |
| g | 71 |
| h | 72 |
| i | 73 |
| j | 74 |
| k | 75 |
| l | 76 |
| m | 77 |
| n | 78 |
| o | 79 |
| p | 80 |
| q | 81 |
| r | 82 |
| s | 83 |
| t | 84 |
| u | 85 |
| v | 86 |
| w | 87 |
| x | 88 |
| y | 89 |
| z | 90 |
| left window key | 91 |
| right window key | 92 |
| select key | 93 |
| numpad 0 | 96 |
| numpad 1 | 97 |
| numpad 2 | 98 |
| numpad 3 | 99 |
| numpad 4 | 100 |
| numpad 5 | 101 |
| numpad 6 | 102 |
| numpad 7 | 103 |
| numpad 8 | 104 |
| numpad 9 | 105 |
| multiply | 106 |
| add | 107 |
| subtract | 109 |
| decimal point | 110 |
| divide | 111 |
| f1 | 112 |
| f2 | 113 |
| f3 | 114 |
| f4 | 115 |
| f5 | 116 |
| f6 | 117 |
| f7 | 118 |
| f8 | 119 |
| f9 | 120 |
| f10 | 121 |
| f11 | 122 |
| f12 | 123 |
| num lock | 144 |
| scroll lock | 145 |
| semi-colon | 186 |
| equal sign | 187 |
| comma | 188 |
| dash | 189 |
| period | 190 |
| forward slash | 191 |
| grave accent | 192 |
| open bracket | 219 |
| back slash | 220 |
| close braket | 221 |
| single quote | 222 |
| | |
2009年8月17日 星期一
2009年6月12日 星期五
[轉] Oracle 課堂筆記分享: synonyms 與 privileges
(1) --建立一個user名稱test01(CREATE USER test01)密碼預設為test01(語法:IDENTIFIED BY test01)
CREATE USER TEST01 IDENTIFIED BY test01 ;
(2) --賦予test01可以連接資料庫的權限
GRANT CREATE SESSION TO test01;
(3) --建立一個user test02,且賦予連線權限
CREATE USER TEST02 IDENTIFIED BY test02 ;
GRANT CREATE SESSION TO test02;
2.login user: hr (練習建立public synonyms與權限)
(1) --將hr下面的table:departments建立成為公用synonyms:dep_p
create public synonym dep_p for hr.departments;
(2) --賦予user:test01可以讀取(select)hr裡面的table:departments的權限
grant select on departments to test01;
3.login user: test01 (測試是否能讀取public synonyms)
(1) --測試是否能讀取公用synonyms(以下語法執行若不成功表示上述範例1與2的設定有問題)
select * from dep_p ;
4.login user: test02 (測試是否能讀取public synonyms)
(1) --測試是否能讀取公用synonyms(以下語法執行會出現錯誤ORA-00942: 表格或視觀表不存在
--,因為雖然dep_p為public,但是在範例2-(2)中沒有設定test02的讀取權限)
select * from dep_p ;
5.login user: hr (練習建立權限)
(1) --賦予user:test02可以讀取(select)hr裡面的table:departments的權限
grant select on departments to test02;
6.login user: test02 (測試是否能讀取public synonyms)
(1) --測試是否能讀取公用synonyms(以下語法執行若不成功表示上述範例5的設定有問題)
select * from dep_p ;
7.login user: hr (練習with grant option)
(1) --先將之前建立的權限移除
revoke select on departments from test02;
revoke select on departments from test01;
(2) --賦予test01有with grant option的權限
grant select on departments to test01
with grant option;
(2) --賦予user:test01可以讀取(select)hr裡面的table:departments的權限
grant select on departments to test01;
8.login user: test01 (測試是否能讀取public synonyms)
(1) --測試是否能讀取公用synonyms(以下語法執行若不成功表示上述範例7的設定有問題)
select * from dep_p ;
9.login user: test02 (測試是否能讀取public synonyms)
(1) --測試是否能讀取公用synonyms(應該會無法讀取才對)
select * from dep_p ;
10.login user: test01 (練習with grant option)
(1) --練習由user:test01去指定賦予user:test02讀取user:hr的table:departments的權限
grant select on hr.departments to test02;
11.login user: test02 (測試是否能讀取public synonyms)
(1) --測試是否能讀取公用synonyms(應該會可以讀取才對)
select * from dep_p ;
12.login user: hr (練習移除with grant option)
(1) --直接由hr撤銷test01對department的select權限
revoke select on departments from test01;
13.login user: test01 (測試是否能讀取public synonyms)
(1) --測試是否能讀取公用synonyms(應該會無法讀取才對,因範例12已經撤銷權限)
select * from dep_p ;
14.login user: test02 (測試是否能讀取public synonyms)
(1) --測試是否能讀取公用synonyms(應該會無法讀取才對,因為範例12已經撤銷父層權限)
select * from dep_p ;
15.login user: hr (練習建立private synonyms與權限)
(1) --將hr下面的table:departments建立成為user:test02私用synonyms:dept
create synonym test02.dept for hr.departments;
(2) --賦予user:test02可以讀取(select)hr裡面的table:departments的權限
grant select on departments to test02;
16.login user: test02 (測試是否能讀取private synonyms)
(1) --測試是否能讀取私用synonyms(應該會可以讀取才對)
select * from dept ;