将 SQLWARN 数组中的八个字符字段设置为空,或设置为 W 来指示各种特殊的情况。它
们的含义依赖于刚刚执行的语句。
当数据库打开时,
即,
跟在 CONNECT、
DATABASE 或 CREATE DATABASE 语句之后,
出现一组警告标志。这些标志告诉您数据库的一些整体特征。
第二组标志跟在任何其他语句之后出现。这些标志反映在该语句期间发生的不寻常事件,
这些事件通常没有严重到通过 SQLCODE 来反映的程度。
在下表中总结这两组 SQLWARN 值。
表 1. SQLWARN 的字段
字段
当打开或连接到数据库时
所有其他 SQL 操作
第一个
当将任何其他警告字段设置
为 W 时,设置为 W。如果为空,
则不需要检查其他的。
当将任何其他警告字段设置为 W 时,
设
置为 W。
第二个
当现在打开的数据库使用事务日志
时,设置为 W。
如果截断列值,当使用 FETCH 或
SELECT...INTO 语句将它访存到主变量内
时,
设置为 W 。
在 REVOKE
ALL 语句上,
当未取消全部七个表级别权限时,设置
为 W。
第三个
当现在打开的数据库符合 ANSI 时,
设置为 W。
当 FETCH 或 SELECT 语句返回为 NULL
的聚集函数(SUM、AVG、MIN、MAX)值时,
设置为 W。
第四个
当数据库服务器为 GBase 8s 时,
设置为 W。
在 SELECT ... INTO、FETCH ... INTO 或
EXECUTE
...
INTO 语句上,
当 projection
列表项数不同于在 INTO 子句中检索它们
的主变量的数目时,
设置为 W。
在 GRANT
ALL 语句上,当未授予全部七个表级别访
问权限时,设置为 W。
第五个
当数据库服务器以 DECIMAL 形式存
储 FLOAT 数据类型时,设置为 W。
当主机系统缺乏对 FLOAT 类型的支
持时,这样做。
如果准备好的对象包含不带有 WHERE 子
句的 DELETE 语句或 UPDATE 语句时,设
置为 W。
GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 206 -
字段
当打开或连接到数据库时
所有其他 SQL 操作
第六个
保留。
跟在不使用 ANSI 标准 SQL 语法的语句
执行之后(假设设置了DBANSIWARN 环境
变量),设置为 W。
第七个
当将应用程序连接到在数据复制对
中为辅助服务器的数据库服务器上
时,设置为 W。即,该服务器仅对
读取操作可用。
在查询处理期间
(当 DATASKIP 特性为 on
时)
,
当已跳过了数据分片
(dbspace)
时,
设置为 W。
第八个
当客户机 DB_LOCALE 与数据库语言
环境不相匹配时,设置为W。要获取
更多信息,
请参阅
《GBase
8s
GLS 用
户指南》。
当 SET EXPLAIN ON AVOID_EXECUTE 语句
阻止查询执行时,设置为W。