
目 录
目录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1 KingbaseES 错误代码 2
A 版权声明 9
遵循 SQL 标准对”SQLSTATE” 代码的习惯,KingbaseES 服务器发出的所有信息都将被赋予五位字符的错误代
码。通常想要知道发生了什么错误状况,应当查阅错误代码,而不是查看文本形式的错误消息。在 KingbaseES
的版本之间,错误代码不会轻易改变,也不会随着错误消息的本地化而改变。请注意部分(但不是全部)
KingbaseES 生成的错误代码是由 SQL 标准定义的;部分标准没有定义的额外错误代码是由 KingbaseES 定义
或者从其它数据库借用而来。
根据 SQL 标准,错误代码的前两个字符表示错误类别,后三个字符表示在该类别内的一种特定情况。因此,
那些不能识别特定错误代码的应用仍然可以从错误类别中推断要做什么。
下表中列出了 KingbaseES V8 定义的所有错误代码(实际上有些代码目前并没有使用,但是 SQL 标准中有定
义)。错误类别也在其中列出。对于每个错误类别都有一个” 标准” 错误代码,它的最后三个字符是 000。这
个代码只用于那些属于该类别但是没有被赋予特定代码的错误情况。
” 情况名称” 列中显示的符号是在 PL/SQL 中使用的情况名称。情况名称可以被写成大写或小写形式(注意
PL/SQL 不识别警告(与错误不同)情况名称,它们是类别 00、01 和 02)。
对于某些类型的错误,服务器会报告与错误相关的数据库对象(一个表、表列、数据类型或约束)的名称。
例如,导致一个 unique_violation 错误的唯一约束的名称。这些名字被包含在错误报告消息的独立域
中,这样应用就不必从可能是本地化可读的消息文本中抽取它们到 KingbaseES 位置,对于这个特性的完全覆
盖只在 SQLSTATE 类别 23(完整性约束未被)的错误中存在,但是很可能会在未来进行扩展。
1
评论