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


咨詢
建站咨詢
