drop index index_name
- Apr 29 Tue 2014 13:41
-
[DB2]How to drop index in db2
use command:<br/>
drop index index_name
drop index index_name
- Apr 29 Tue 2014 13:40
-
[DB2] How to adding columns to an existing table
To add columns to an existing table using the command line, enter:<br/>
ALTER TABLE table_name ADD column_name data_type null_attribute<br/>
<br/>
EX:<br/>
ALTER TABLE MyTable<br/>
ADD COLUMN1 VARCHAR(5) NOT NULL WITH DEFAULT<br/>
ADD COLUMN2 CHAR(3)
ALTER TABLE table_name ADD column_name data_type null_attribute<br/>
<br/>
EX:<br/>
ALTER TABLE MyTable<br/>
ADD COLUMN1 VARCHAR(5) NOT NULL WITH DEFAULT<br/>
ADD COLUMN2 CHAR(3)
- Apr 29 Tue 2014 13:35
-
[DB2] How to change the primary key for already existing table?
1. drop the existing primary key, use
ALTER TABLE Table_Name DROP PRIMARY KEY;
2. add new primary key, use
ALTER TABLE Table_Name ADD PRIMARY KEY (Column1, Column2, ...);
ALTER TABLE Table_Name DROP PRIMARY KEY;
2. add new primary key, use
ALTER TABLE Table_Name ADD PRIMARY KEY (Column1, Column2, ...);
- Sep 12 Thu 2013 11:01
-
DB2: How to find your DB2 version
要如何得知你使用的db2版本,每次問,不會被回說去找cd的包裝,就是問不到答案。
本想google一下,卻意外發現手動用command line的方式去連db,上面就有顯示了。
db2 => connect to yourdb
Database Connection Information
Database server = DB2/LINUX 9.7.6
SQL authorization ID = yourdb
Local database alias = yourdb
db2 =>
Database Server那行後面 9.7.6 就是db2 version
另也可以透過下面的SQL語法來取得db2 version,但是用此sql語法前,得先連上db,否則會出現錯誤。
db2 => select * from SYSIBM.SYSVERSIONS
VERSIONNUMBER VERSION_TIMESTAMP AUTHID VERSIONBUILDLEVEL
------------- -------------------------- -------- ------------------------------
9070600 2013-02-21-16.21.51.489830 DB2INST1 s120516
1 record(s) selected.
VERSIONNUMBER 即db2 version.
未連上db時,會得到的錯誤訊息
db2 => select * from SYSIBM.SYSVERSIONS
SQL1024N A database connection does not exist. SQLSTATE=08003
db2 =>
本想google一下,卻意外發現手動用command line的方式去連db,上面就有顯示了。
db2 => connect to yourdb
Database Connection Information
Database server = DB2/LINUX 9.7.6
SQL authorization ID = yourdb
Local database alias = yourdb
db2 =>
Database Server那行後面 9.7.6 就是db2 version
另也可以透過下面的SQL語法來取得db2 version,但是用此sql語法前,得先連上db,否則會出現錯誤。
db2 => select * from SYSIBM.SYSVERSIONS
VERSIONNUMBER VERSION_TIMESTAMP AUTHID VERSIONBUILDLEVEL
------------- -------------------------- -------- ------------------------------
9070600 2013-02-21-16.21.51.489830 DB2INST1 s120516
1 record(s) selected.
VERSIONNUMBER 即db2 version.
未連上db時,會得到的錯誤訊息
db2 => select * from SYSIBM.SYSVERSIONS
SQL1024N A database connection does not exist. SQLSTATE=08003
db2 =>
- Aug 29 Thu 2013 17:19
-
DB2: Get current date with format YYYYMMDD
How to get current date with format YYYYMMSS in DB2??
To get the current date, time, and timestamp using SQL in DB2, reference to use below sql statment
db2 => select current date from sysibm.sysdummy1
1
----------
08/29/2013
1 record(s) selected.
db2 => select current time from sysibm.sysdummy1
1
--------
16:59:01
1 record(s) selected.
db2 => select current timestamp from sysibm.sysdummy1
1
--------------------------
2013-08-29-16.37.35.960388
1 record(s) selected.
How to custom date/time formatting?
The easy way to do this is use VARCHAR_FORMATscalar function
db2 => select varchar_format(current timestamp, 'YYYYMMDD') from sysibm.sysdummy1
1
-----------------------------------
20130829
1 record(s) selected.
To get the current date, time, and timestamp using SQL in DB2, reference to use below sql statment
db2 => select current date from sysibm.sysdummy1
1
----------
08/29/2013
1 record(s) selected.
db2 => select current time from sysibm.sysdummy1
1
--------
16:59:01
1 record(s) selected.
db2 => select current timestamp from sysibm.sysdummy1
1
--------------------------
2013-08-29-16.37.35.960388
1 record(s) selected.
How to custom date/time formatting?
The easy way to do this is use VARCHAR_FORMATscalar function
db2 => select varchar_format(current timestamp, 'YYYYMMDD') from sysibm.sysdummy1
1
-----------------------------------
20130829
1 record(s) selected.
- May 20 Mon 2013 17:24
-
db2 encrypt/decrypt value for column(表格欄位值加解密)
全球最嚴個資法,台灣說第二,不知道有沒有其他國敢跳出來說第一,所以一堆公司開始了所謂的控管,免不的,資料庫有些敏感性資料也要加密,只好找找資料,試一下db2怎麼對表格中的欄位來進行加解密。
db2 針對不同型態,提供了不同的加解密函式,根據版本不同,有些函式還未提供,或是只供內部使用,所以只把我試出來可以用的列出來。
資料型態,主要針對varchar
使用下列函式:
db2 針對不同型態,提供了不同的加解密函式,根據版本不同,有些函式還未提供,或是只供內部使用,所以只把我試出來可以用的列出來。
資料型態,主要針對varchar
使用下列函式:
- Apr 30 Tue 2013 14:55
-
DB2 sequence 簡單語法
剛好遇上要用db2 sequence, 將試過的語法做個備忘。
1. create
CREATE SEQUENCE XX_SEQ START 1 INCREMENT BY 1 MAXVALUE 999999 CYCLE NO CACHE
說明:
START WITH:起始值
INCREMENT BY:每次增加多少
MAXVALUE:設定最大值,不設定就設成 NO MAXVALUE
CYCLE:當到達最大值時,是否從頭開始,不循環設成NO CYCLE
CACHE:一次產生多個值於記憶體中,方便快速取用,如 CACHE 3 ,就會產生3個值於記憶體中,若不使用,則設成NO CACHE
2. alter (重新設定起始值) ALTER SEQUENCE XX_SEQ RESTART WITH 10
3. 使用 next value for seq_name 取值
SELECT NEXT VALUE FOR XX_SEQ FROM sysibm.sysdummy1
4. drop(刪除)
DROP SEQUENCE XX_SEQ RESTRICT
1. create
CREATE SEQUENCE XX_SEQ START 1 INCREMENT BY 1 MAXVALUE 999999 CYCLE NO CACHE
說明:
START WITH:起始值
INCREMENT BY:每次增加多少
MAXVALUE:設定最大值,不設定就設成 NO MAXVALUE
CYCLE:當到達最大值時,是否從頭開始,不循環設成NO CYCLE
CACHE:一次產生多個值於記憶體中,方便快速取用,如 CACHE 3 ,就會產生3個值於記憶體中,若不使用,則設成NO CACHE
2. alter (重新設定起始值) ALTER SEQUENCE XX_SEQ RESTART WITH 10
3. 使用 next value for seq_name 取值
SELECT NEXT VALUE FOR XX_SEQ FROM sysibm.sysdummy1
4. drop(刪除)
DROP SEQUENCE XX_SEQ RESTRICT
- Mar 15 Fri 2013 14:45
-
db2 如何在命令模式(command line)下執行 script
想要在命令視窗或命令列中執行 DB2 腳本,您可用 db2 -svtf ScriptName 來執行。
例如,script 為sample.sql
db2 -svtf sample.sql
參數說明︰
s 代表遇到錯誤時中止執行(如果您希望即使遇到錯誤也不要中止執行,請去掉此參數s
v 代表輸出結果到螢
t 指以;號作為每行的分隔符號
f 指後面需跟腳本檔案名
例如,script 為sample.sql
db2 -svtf sample.sql
參數說明︰
s 代表遇到錯誤時中止執行(如果您希望即使遇到錯誤也不要中止執行,請去掉此參數s
v 代表輸出結果到螢
t 指以;號作為每行的分隔符號
f 指後面需跟腳本檔案名
1