我正在处理数据升级问题。
我们的现有 DB2 表中添加了一个新列。
为了升级客户的 DB2 表,我正在从现有 DB2 表中卸载数据,并为新列(假设 D 类型为 SMALLINT)设置一个常量值,如下所示:
UNLOAD TABLESPACE XYZ.ABC
DELIMITED COLDEL X'2C' CHARDEL X'22'
PUNCHDDN SYSPUN01
UNLDDN SYSREC01 CCSID(367)
FROM TABLE DB2BG111.table_name
(
A POSITION(*) CHAR(2)
, B POSITION(*) SMALLINT
, C POSITION(*) CHAR(4)
, D (new column) CONSTANT X'0000'
)
在卸载数据时,我们使用以下卸载参数:
X'2C': Column Delimiter
X'22': Character Delimiter
CCSID(367): EBCDIC to ASCII conversion
我面临的问题是,DB2 在卸载记录中列 D 的值之后添加字符分隔符 X'22'。
请注意,B 列是现有列,并被声明为 SMALLINT,DB2 未在卸载记录中为此添加字符 del。
这可能会发生,因为此处添加的新列 D 未声明为 SMALLINT,因此未将其视为 SMALLINT,并且 DB2 在卸载记录中为此结束了 char del。
我只是在寻找一种摆脱这种情况的方法,我不希望我的新列 D 在卸载记录中以字符分隔。
任何克服此问题的建议将不胜感激。