全部,在託管變量中使用提示?
我想在託管變量中使用提示;實際上,我們需要使用提示的動態值(提示應該在運行時進行評估)。我們可以寫一個SQL語句從這個:
SELECT /*+ ORDERED INDEX (b, jl_br_balances_n1) USE_NL (j b)
USE_NL (glcc glf) USE_MERGE (gp gsb) */
b.application_id ,
b.set_of_books_id ,
b.personnel_id,
p.vendor_id Personnel,
p.segment1 PersonnelNumber,
p.vendor_name Name
FROM jl_br_journals j,
jl_br_balances b,
gl_code_combinations glcc,
fnd_flex_values_vl glf,
gl_periods gp,
gl_sets_of_books gsb,
po_vendors p
WHERE
到:
SELECT /*+ :hosted_hintp */
b.application_id ,
b.set_of_books_id ,
b.personnel_id,
p.vendor_id Personnel,
p.segment1 PersonnelNumber,
p.vendor_name Name
FROM jl_br_journals j,
jl_br_balances b,
gl_code_combinations glcc,
fnd_flex_values_vl glf,
gl_periods gp,
gl_sets_of_books gsb,
po_vendors p
WHERE
hosted_hintp包含提示我們需要在運行時的值。
謝謝
我不確定我是否理解上下文。你是否試圖綁定提示的文本?這是行不通的。在執行SQL語句之前,您可能會使用動態SQL來組裝SQL語句 - 具體取決於您正在運行SQL語句的客戶端所使用的語言。如果您使用的是SQL * Plus,你可以使用替換變量......基本上,我強烈質疑這裏的要求 - 使用這樣的提示通常是一個壞主意,動態提示更糟糕。甲骨文有很多其他的選擇來操縱計劃。 –
當然可以,編碼動態SQL。我會給你寫一個快速的代碼作爲例子。 –
@JustinCave感謝您的迴應,我們的DAL支持dynamique語句,使用pro * C我們可以使用exec sql prepare dyn_stmt來選擇...., 問題是(對於動態的)它將是SQL注入的風險。你怎麼看? – Aymanadou