DB2 SQLエラー:SQLCODE = -418、SQLSTATE = 42610、SQLERRMC =ヌル、DRIVER = 4.9.78


查询的语句为:
選択t.rq、t.pm、合体(m.sje、0)sje、からc.pm、b.rqを選択し(から(m.fje、0)fjeを合体   (値()? (?)、(?)、(?)、(?) )、B(RQ)、(値( '00010002')、( '00020002'))C(午後))tが参加し、左(SUBSTR(a.LMZJBXX_RQを選択(存在によりucap_dept UNIT_CODE枚とDEPT_UNID = a.LMZJBXX_JZDW)群1から選択JCJYXT_HSZM_LMZJBXX aから、1,7)RQ、a.LMZJBXX_PM午後、和(a.LMZJBXX_SJE)sje、和(a.LMZJBXX_FJE)fje SUBSTR(a.LMZJBXX_RQ、1,7)t.rqによってt.rq = m.rqとt.pm = m.pmために、a.LMZJBXX_PM)M、t.pm


友人は言う:
パラメーター・マーカーが使用されることはありません:


    *文の用意されていないステートメントの中
    *ステートメントのVIEWのCREATEの全選択の中で
    するATステートメントのCREATE TRIGGERをするアクショントリガーに*
    DB2 Query Patrollerによってキャプチャされたクエリに* 


での処理されないことは声明することができます。


型なしパラメーター・マーカーが許可されているユーザーは、応答がない声明にする場合の構文を修正:.、パラメータデータタイプを与えることCAST仕様にマーカーを使用しています。 


このDB2の誤差が選び出すれます。
私は結果がで設定されていると思います「?」論外。



したがって、クエリ修正:
SELECT t.rq、t.pm、COALESCE(m.sje、0)SJE、COALESCE(m.fje、0)fje 
(から(SELECT b.rq、c.pmからの値( ' 2014から09 ')、(' 2014から08 ')、(' 2014から07 ')、(' 2014から06 ')、(' 2014から05 '))B(RQ)、(値(' 00010002「) 、( '00020002'))C (午後))tはからの参加(選択SUBSTR(a.LMZJBXX_RQ、1,7)RQ、a.LMZJBXX_PMの午後、合計(a.LMZJBXX_SJE)sje、合計(a.LMZJBXX_FJE)fjeを残しました存在するが(1から選択JCJYXT_HSZM_LMZJBXX Aの SUBSTRによって基(a.LMZJBXX_RQ、1,7)、a.LMZJBXX_PM)t.rq = m.rqでmおよびt.pm ucap_dept UNIT_CODE枚とDEPT_UNID = a.LMZJBXX_JZDW) t.rqによって= m.pmため、t.pmの
経由を再実行します。
結論:結果セットは、パラメータを渡すことはできません。

ます。https://my.oschina.net/u/2552902/blog/543869で再現

おすすめ

転載: blog.csdn.net/weixin_34162629/article/details/92327016