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