我正在使用DB2版本10.我有一个表,其中包含为我定义的更新时间戳,如下所示:
Update_Timestamp For Column D2TIMSTU Timestamp DEFAULT NULL
在初始加载到此表的数据时,我想将所有行的此列的值设置为NULL,但我没有成功。我已经尝试将NULL指定为插入值,我甚至尝试指定DEFAULT。
两次尝试都给出了同样的错误:
SQL状态:42703 供应商代码:-206 消息:[SQL0206]找不到列或全局变量DEFAULT。原因。 。 。 。 。 。 :在* N中未找到DEFAULT作为表* N的列,并且未在* N中找到全局变量。
如果表是* N,则DEFAULT不是任何可以引用的表或视图的列
NULL的相同错误 - 在错误消息中将DEFAULT替换为NULL。
我知道我可以通过不指定列名和值来解决这个问题,但我真的想知道为什么这不起作用。
答案 0 :(得分:2)
首先,您确定目标表中的col3是否允许接受NULL值?
如果是这样,尝试这样的事情(我无法测试 - 我再也无法访问DB2系统了)
INSERT INTO [Table Name](col1, col2, col3)SELECT Value1, Value2,
cast(NULL as timestamp) FROM [Source Table]