無法用 ALTER 變更欄位資料型態,部分欄位可調整長度。相較 Oracle 限制較多。
SELECT expression FROM sysibm.sysdummy1;
-- 等同於
VALUES expression;
UPDATE 未顯式賦值的預設值欄位,不會重新執行預設運算式。需重新執行時:
CREATE TABLE t1 (c1 VARCHAR(32), lastupdatetime TIMESTAMP WITH DEFAULT CURRENT TIMESTAMP);
UPDATE t1 SET c1 = 'new', lastupdatetime = DEFAULT;
db2set DB2CODEPAGE=1386(GBK 對應值),數值由 DB2 定義DB2 CATALOG TCPIP NODE local_node REMOTE hostname|ip SERVER service_name
DB2 CATALOG DATABASE db_name AS local_alias AT local_node USER username USING password
DB2 CONNECT TO local_alias USER username USING password
DB2 GET CONFIGURATION SHOW DETAIL
db2 "? sql10008"
# 備份
DB2 BACKUP DATABASE db_name USER user USING pass TO backup_dir
# 還原
DB2 RESTORE DATABASE src_db USER user USING pass FROM backup_dir
TAKEN AT timestamp TO drive INTO new_db_name
DB2 SET DB2INSTANCE=inst_name
DB2START
DB2STOP [FORCE]
DB2 ATTACH TO INSTANCE inst_name
DB2 GET DBM CFG SHOW DETAIL
db2look -d sample -a -e -l -x -m -f -o samplesql.out
資料型態不匹配(如整數載入 DOUBLE 欄位)可能導致表空間進入 0x0020 狀態而不可存取。對該表空間執行一次備份即可恢復正常 0x0。
GENERATED BY DEFAULT AS IDENTITY:允許手動指定值(不重複),資料庫自動調整下一值GENERATED ALWAYS AS IDENTITY:僅由資料庫自動分配SELECT * FROM t1 WHERE a LIKE '%abc\%def' ESCAPE '\';
long-num 參數錯誤(25600 代表 256MB,寫 256 會報錯)錯誤 UnsatisfiedLinkError: SQLConnect:WAS 服務用戶缺少 LD_LIBRARY_PATH、LIBPATH、DB2INSTANCE。解法:停止 WAS → source $INSTHOME/sqllib/db2profile → 啟動 WAS,或置於 WAS 啟動腳本最前。僅設前兩者會報 CLI0600E Invalid connection handle。
CREATE TOOLS CATALOG schema_name CREATE NEW DATABASE db_name
預設字符集 ISO8859-1,無法用 USING 指定 codeset。