标识符条款

适用于:检查标记是的砖的SQL检查标记是的砖运行时13.2及以后

标识符条款解释一个常数字符串作为:

  • 表或视图的名称

  • 函数名

  • 列名

  • 字段名

  • 模式名

条款允许SQL注入的安全参数化SQL语句。

标识符条款支持以下语句:

  • 表、视图或函数名的创建、修改、删除,UNDROP

  • 表名的合并、更新、删除、插入、复制

  • 一个节目或描述的目标

  • 使用的模式

  • 一个函数调用

  • 查询中引用的一个列或视图。这包括查询嵌入在一个DDL和DML语句。

在使用标识符时条款可能不嵌入一个标识符。

语法

标识符(strExpr)

参数

  • strExpr:一个常数字符串通常包括一个或多个表达式参数标记

例子

/ /创建一个表使用参数标记。火花sql(“创建表标识符(:mytab) (c1 INT)”,arg游戏=地图(“mytab”- >“tab1”))/ /修改表与一个固定的模式和参数化的表名。火花sql(“改变表标识符(“违约。“| |:mytab)添加列c2 INT)”,arg游戏=地图(“mytab”- >“tab1”))/ /删除一个表与独立模式和表参数。火花sql(“删除表标识符(:myschema | |”。“| | mytab):“,arg游戏=地图(“mySchema”- >“默认”,“mytab”- >“tab1”))/ /参数化查询中引用一个表。表名是合格的,并使用反勾号。火花sql(“SELECT *标识符(mytab):“,arg游戏=地图(“mytab”- >“‘tab1’‘默认’。”))/ /你不能符合标识符claue或美国限定符本身。火花sql(“SELECT * FROM myschema.IDENTIFIER (mytab):“,arg游戏=地图(“mytab”- >“tab1”))火花sql(“SELECT *标识符(:myschema) .mytab”,arg游戏=地图(“mychema”- >“默认”))/ /参数化列引用火花sql(“从价值选择标识符(col):(1)当T (c1)”,arg游戏=地图(“上校”- >“t.c1”))/ /传入一个聚合函数名作为参数火花sql(“选择标识符(gg) (c1)值(1),(2)当T (c1)”,arg游戏=地图(“gg”- >“马克斯”))