參數標記

參數標記命名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|/ /+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +