標識符條款

適用於:檢查標記是的磚的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”- >“馬克斯”))