2016-02-12 57 views
0

正常分配操作符工作正常,但像操作不能與存儲過程中的下面的查詢一起工作,你能糾正什麼是錯誤的查詢?動態參數化查詢與像

在下面僅基於查詢過程轉變爲LIKE操作拋出異常

AND APP_FRAMES.APP_EXT_CODE =:IN_APP_EXT_CODE%;  -- working 

AND APP_FRAMES.APP_EXT_CODE LIKE %:IN_APP_EXT_CODE%; -- not working 

工作代碼:

QUERY_STR := 'select * from APP_FRAME_PROPERTIES,APP_FRAMES 
Where APP_FRAME_PROPERTIES.APP_EXT_CODE = APP_FRAMES.APP_EXT_CODE 
AND APP_FRAMES.APP_EXT_CODE =:IN_APP_EXT_CODE'; 

OPEN OUT_RESULT FOR QUERY_STR USING IN_APP_EXT_CODE; 

回答

2

你來串聯'%'文字:

AND APP_FRAMES.APP_EXT_CODE LIKE '%' || :IN_APP_EXT_CODE || '%'; 

整個查詢將是:

QUERY_STR := 'select * from APP_FRAME_PROPERTIES,APP_FRAMES 
Where APP_FRAME_PROPERTIES.APP_EXT_CODE = APP_FRAMES.APP_EXT_CODE 
AND APP_FRAMES.APP_EXT_CODE LIKE ''%'' || :IN_APP_EXT_CODE || ''%'' '; 
+0

謝謝回答,這些都是字符串,因此無需任何額外的字符之內,對不對? – sunleo

+0

QUERY_STR:= 'SELECT * FROM APP_FRAME_PROPERTIES,APP_FRAMES 凡APP_FRAME_PROPERTIES.APP_EXT_CODE = APP_FRAMES.APP_EXT_CODE AND APP_FRAMES.APP_EXT_CODE '' %' ':IN_APP_EXT_CODE' '%''; – sunleo

+0

根據您的回答,上述內容是否正確? – sunleo