在DB2 CLP(命令窗口)中运行以下语句
db2"立即截断表MYSCHEMA.TABLEA"
DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL0969N There is no message text corresponding to SQL error "-20356" in the
message file on this workstation. The error was returned from module
"SQLNQBE2" with original tokens "MYSCHEMA.TABLEA".
有些人可以告诉我,我做错了什么或我错过了什么?我试图简单地从单个表中截断,并且我收到以下错误消息。不确定我做错了什么。我已尝试使用/不使用引号,有/无模式,有/无立即。我也在Command Editor中尝试过(删除db2和引号)但仍然无法正常工作。我正在使用: DB2 / AIX64 9.7.9 此外,我有删除权限,因为我能够删除记录,但我想截断。
提前致谢!
答案 0 :(得分:1)
您使用的DB2客户端的版本似乎与服务器的版本不匹配,这就是您无法看到SQLCODE -20356的实际错误消息的原因。如果可以的话,你会看到:
由于DELETE触发器,因此无法截断表MYSCHEMA.TABLEA 表存在,或者表是引用中的父表 约束
可以像往常一样in the fine manual找到进一步的解释和建议的行动。
答案 1 :(得分:0)
ALTER TABLE MYSCHEMA.TABLEA ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE
或
import from /dev/null of del replace into MYSCHEMA.TABLEA
答案 2 :(得分:0)
我最近也有这个问题。在我的情况下,我必须在TRUNCATE之前做一个COMMIT WORK。这解决了我的问题。请尝试告诉我们这是否有帮助。