新聞中心
通過隱式轉換或不指定格式模型的顯式轉換將日期時間值轉換為文本時,格式模型由一個全局會話參數(shù)定義。根據(jù)源數(shù)據(jù)類型,這些參數(shù)名稱為? NLS_DATE_FORMAT?、?NLS_TIMESTAMP_FORMAT? 或 ?NLS_TIMESTAMP_TZ_ FORMAT?。這些參數(shù)的值可以在客戶端環(huán)境或 ?ALTER SESSION?語句中指定。

創(chuàng)新互聯(lián)公司提供成都網(wǎng)站建設、做網(wǎng)站、網(wǎng)頁設計,品牌網(wǎng)站設計,廣告投放等致力于企業(yè)網(wǎng)站建設與公司網(wǎng)站制作,10余年的網(wǎng)站開發(fā)和建站經驗,助力企業(yè)信息化建設,成功案例突破上1000+,是您實現(xiàn)網(wǎng)站建設的好選擇.
當不指定格式模型的顯式轉換對動態(tài)構造的 SQL 語句中的日期時間值進行顯式轉換時,格式模型對會話參數(shù)的選擇過程會對數(shù)據(jù)庫安全性產生負面影響。
動態(tài)構造的 SQL 語句是指由程序或者存儲過程生成的 SQL 語句。執(zhí)行動態(tài)構造的 SQL 語句,需要 OceanBase 內置的 PL 包 ?DBMS_SQL? 或與 PL 語句 ?EXECUTE IMMEDIATE? 相關,但這些并不是唯一執(zhí)行動態(tài)構造的 SQL 文本的方式。
如下所示,?start_date? 的數(shù)據(jù)類型為 ?DATE?,使用會話參數(shù) ?NLS_DATE_FORMAT? 中指定的格式模型將 ?start_date? 的值轉換為文本,再將結果傳遞到 SQL 文本中。日期時間格式模型可以簡單地由雙引號所包含的文本組成。
SELECT last_name FROM employees WHERE hire_date > '' || start_date || '';
說明
為顯式轉換的格式模型設置全球化參數(shù)的用戶可以決定上述轉換產生了什么文本。
若 SQL 語句由過程執(zhí)行,則該過程的執(zhí)行可能會由于session變量的修改而被SQL注入。當某些過程具有更高權限(例如Definer's Rights Procedure)時,造成的安全方面的影響可能更大。
網(wǎng)站欄目:創(chuàng)新互聯(lián)OceanBase教程:OceanBase數(shù)據(jù)轉換的安全注意事項
文章分享:http://m.5511xx.com/article/cdpoode.html


咨詢
建站咨詢
