KEYWORD_FILTER
功能特性
关键字过滤,当设置的过滤关键字出现在特定操作关键字之后(如:SELECT/INSERT/UPDATE/DELETE/MERGE/CREATE TABLE),则设置的过滤关键字会被作为标识符进行处理。
说明:
- CREATE TABLE之后的关键字处理在V12.5以上版本支持。
- 关键字过滤后,只有DML语句和创建表的对象可以使用被过滤的关键字,其他对象(如库、序列、过程、函数等)将不能使用这些关键字。
示例
将需要做对象名、列表、别名的参数通过逗号分隔进行设置,禁止使用空格,区分大小写 。
sql
--连接串设置方式
KEYWORD_FILTER=TABLE
KEYWORD_FILTER=TABLE,FUNCTION
KEYWORD_FILTER=TABLE,FUNCTION,CONSTANT
--set设置方式
SET KEYWORD_FILTER TO 'TABLE';
SET KEYWORD_FILTER TO 'TABLE,FUNCTION';
SET KEYWORD_FILTER TO 'TABLE,FUNCTION,CONSTANT';
可通过sys_sessions系统表KEYWORD_FILTER字段和命令SHOW KEYWORD_FILTER
查看。
注意:
连接上配置关键字后,此关键字相关DML语法将无法使用,如需使用相关语法只能通过无关键字过滤的连接执行。
如将SELECT语句中FROM/GROUP/ORDER/OR/AND设置为过滤关键字后,相关SELECT将无法执行。