参数标记

参数标记命名orgydF4y2Ba不愿透露姓名的类型的占位符变量用来供应值从API调用SQL语句。

使用参数标记保护您的代码从SQL注入攻击,因为它明确地分离提供值与SQL语句。

你不能混合命名和未具名参数标记的SQL语句。

你不能在DDL语句引用一个参数标记,如一个生成的列或违约的定义,一个视图,或SQL函数。例外条款中引用参数标记标识符,可用于参数化在某些DDL语句表名或列名。看到标识符条款

可以提供的参数标记:

命名参数标记

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

命名参数标记类型占位符变量。API调用SQL语句必须提供名称-值对将每个参数标记的值。

语法

:parameter_name

参数

笔记

你可以引用相同的参数标记内多次相同的SQL语句。如果没有绑定到参数标记的值UNBOUND_SQL_PARAMETER错误是提高。你不需要参考提供的所有参数标记。

强制性的前:(冒号)区分的名称空间指定参数标记的列名和SQL参数。

例子

下面的例子定义了两个参数标记:

  • 晚些时候:一个时间间隔小时值为3。

  • x:一个价值15.0

x多次引用,而晚些时候一旦引用。

进口orgapache火花sqlSparkSession瓦尔火花=SparkSession构建器()浏览器名称(“火花命名参数标记的例子”)getOrCreate()瓦尔argMap=地图(“晚些时候”- >java时间持续时间ofHours(3),“x”- >15.0)火花sql(sqlText=“选择current_timestamp() +:后来,:x *: x平方”,arg游戏=argMap)。显示()/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ / | current_timestamp() +间隔“03”小时| |广场/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ / | 2023-02-27 17:48:……| 225.00 |/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
进口org.apache.spark.sql。*;静态导入java.util.Map.entry;SparkSession火花=SparkSession构建器()浏览器名称(“Java火花参数标记的例子”)getOrCreate();地图<字符串,字符串>argMap=地图ofEntries(条目(“晚些时候”,java时间持续时间ofHours(3)),条目(“x”,15.0));火花sql(sqlText=“选择current_timestamp() +:后来,:x *: x平方”,arg游戏=argMap)。显示();/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ / | current_timestamp() +间隔“03”小时| |广场/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ / | 2023-02-27 17:48:……| 225.00 |/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
火花sql(“选择current_timestamp() +:后来,:x *: x平方”,arg游戏={“晚些时候”,“间隔3小时”,“x”,15.0})显示()/ /+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ /|current_timestamp()+时间间隔“03”小时|广场|/ /+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ /|2023年- - - - - -02- - - - - -2717:48:…|225.00|/ /+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +

不愿透露姓名的参数标记

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

匿名类型的占位符变量参数标记。API调用SQL语句必须提供参数关联数组中的每个参数标记的值顺序出现。

语法

吗?

参数

  • 吗?:指一个参数标记的形式提供一个问号。

笔记

每次出现的一位不愿透露姓名的参数标记消耗值提供的API调用SQL语句。如果没有值被绑定到参数标记,一个UNBOUND_SQL_PARAMETER错误是提高。你不需要消耗所有提供的值。

例子

下面的例子定义了三个参数标记:

  • 一个时间间隔小时值为3。

  • 两个值为15.0。因为提供的参数是不知名的每个值被最多一个参数。

进口orgapache火花sqlSparkSession瓦尔火花=SparkSession构建器()浏览器名称(“火花未具名参数标记的例子”)getOrCreate()瓦尔argArr=数组(java时间持续时间ofHours(3),15.0,15.0)火花sql(sqlText=“选择current_timestamp () + ? ?* ?广场”,arg游戏=argArr)。显示()/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ / | current_timestamp() +间隔“03”小时| |广场/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ / | 2023-02-27 17:48:……| 225.00 |/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
进口org.apache.spark.sql。*;SparkSession火花=SparkSession构建器()浏览器名称(“Java火花未具名参数标记的例子”)getOrCreate();对象[]argArr=对象[]{java时间持续时间ofHours(3),15.0,15.0}火花sql(sqlText=“选择current_timestamp () + ? ?* ?广场”,arg游戏=argArr)。显示();/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ / | current_timestamp() +间隔“03”小时| |广场/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ / | 2023-02-27 17:48:……| 225.00 |/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
火花sql(“选择current_timestamp () + ? ?* ?广场”,arg游戏=(“间隔3小时”,15.0,15.0])显示()/ /+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ /|current_timestamp()+时间间隔“03”小时|广场|/ /+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/ /|2023年- - - - - -02- - - - - -2717:48:…|225.00|/ /+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +