返回首页

gbase数据、南大通用产品文档:GBase8sDELIMIDENT 环境变量

更新日期:2024年09月11日

DELIMIDENT 环境变量指定括在双引号 ( " ) 之间的字符串是定界数据库标识。
DELIMIDENT 环境变量在客户机系统上也是受支持的,
在客户机系统中它可以设置为 y、
n 或不设置。
y 指定客户机应用程序必须使用单引号 ( ' ) 来对字符串定界,且必须仅在定界的
SQL 标识(它可以支持比未定界的标识中有效的字符集更大的字符集)的两边使用双
引号 ( " )。定界字符串或定界标识中的字母是区分大小写的。这是 OLE DB 和 .NET
的缺省值。
n 指定客户机应用程序可以使用双引号 ( " ) 或单引号 ( ' ) 来对字符串定界,但
是不对 SQL 标识定界。
如果数据库服务器在需要 SQL 标识的上下文中遇到用双引号
或单引号定界的字符串,将发出错误。符合 SQL 标识条件的所有者名称可以用单引
号 ( ' ) 来定界。 必须使用一对相同的引号来对字符串定界。
这是 ESQL/C、JDBC 和 ODBC 的缺省值。具有 ESQL/C 作为底层的 API(如
GBase 8s 4GL、DataBlade® API (LIBDMI) 和 C++ API)具有与 ESQL/C 相同的行为,
并使用“n”作为缺省值(如果在客户机系统上没有指定 DELIMIDENT 的值)。
在客户机系统上指定没有值的 DELIMIDENT 环境变量要求客户机应用程序使用
DELIMIDENT 设置,这是应用程序编程接口 (API) 的缺省设置。


GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 164 -

不需要任何值;DELIMIDENT 生效(如果它存在的话),且当它在环境变量列表上时
仍然有效。当 DELIMIDENT 在服务器级别设置时,除去此变量需要重新启动服务器。
定界标识可以包含空格(如短语 "Vitamin E"),也可以与 SQL 关键字完全相同(如
"TABLE" 或 "USAGE")。还可使用定界标识来声明包含 SQL 标识的缺省字符集之外的
字符的数据库标识(如“Column #6”)。在缺省语言环境中,此缺省字符集由字母、数字
和下划线 ( _ ) 符号组成。
即使设置了 DELIMIDENT,您也可以使用单引号 ( ' ) 来将权限标识定界为数据库对
象名称的所有者名称部分,如以下示例所示:
RENAME COLUMN 'Owner'.table2.collum3 TO column3;
此示例是一般规则的例外,一般规则是这样的:当设置了 DELIMIDENT 时,SQL 解析
器将以单引号定界的字符串解释为文字串,而将以双引号 ( " ) 定界的字符串解释为 SQL
标识。
数据库标识符(也称为 SQL 标识符)是数据库对象(例如:表和列)的名称。存储器
标识是存储器对象(例如,数据库空间、Blob 空间和智能大对象空间)的名称。不能使用
DELIMIDENT 来声明包含缺省 SQL 字符集以外字符的存储器标识。
定界标识是区分大小写的。要使用定界标识,用 GBase 8s ESQL/C 编写的应用程序必
须在编译时和运行时设置 DELIMIDENT。
重要: 如果尚未设置 DELIMIDENT,应注意对它进行设置可能会导致在定界 SQL 标识
(例如,字符串文字的定界符)之外的上下文中使用双引号 ( " ) 的现有 .sql 脚本或客
户机应用程序出错。如果设置了 DELIMIDENT,那么必须对不是 SQL 标识的定界构造使用
单引号 ( ' ) 而不是双引号。
在使用 C shell 并已设置了 DELIMIDENT 的 UNIX™ 系统上,可通过以下命令禁用此
功能(它会导致双引号之间的任何内容都解释为 SQL 标识):
unsetenv DELIMIDENT

ifx_var_getlen() 函数返回 lvarchar pointer 或 var binary 主变量中数据的长度。

语法
var binary
mint ifx_var_getlen(var_bin)
var binary **var_bin;

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 819 -

lvarchar
mint ifx_var_getlen(lvar)
lvarchar **lvar;

var_bin
返回其长度的 var binary 主变量的地址。
lvar
返回其长度的 lvarchar pointer 主变量的地址。

用法
ifx_var_getlen() 函数返回的长度是已为 lvar 或 var_bin 主变量的数据缓冲区分配了
的字节数。

如果您通过使用 GET DESCRIPTOR 语句的 DATA 子句从描述符区域取得
lvarchar pointer 或 var binary,则该值以空终止。如果对这样一个变量使用
ifx_var_getlen(),则返回的长度包括空终止符。要取得正确的长度,请使用 GET
DESCRIPTOR 语句的 LENGTH 子句。

返回代码

>=0
var_bin 主变量的数据缓冲区的长度。
<0
函数不成功。

参数说明:控制是否可以实现算子内存的提前释放。
该参数属于USERSET 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:布尔型

on 表示支持算子内存提前释放。

off 表示不支持算子内存提前释放。
默认值:on