DB2 SQL 如何使用 GET DIAGNOSTICS 获取最后执行的 SQL-Statement?
DB2 SQL How to get the last executed SQL-Statement with GET DIAGNOSTICS?
我想在 IBM i 上使用 SQLSTATE 和变量文本调用 RPG 中的过程。
getSQLMessage(SQLSTT: text)
变量文本应该是过程调用前最后执行的 sql 语句。
有机会这样弄吗:
EXEC SQL GET DIAGNOSTICS CONDITION 1 :text = last executed sql statement
或者有人知道我的问题的另一种解决方案?
非常感谢!
您不能使用 GET DIAGNOSTICS,但您可以先获取 JobLog
DSPJOBLOG OUTPUT(*OUTFILE) OUTFILE(QTEMP/ERR_LOG)
然后得到最后一个SQL错误:
Select Qmhmf,
Qmhmid,
Qmhmdt
From Qtemp.Err_Log
Where Qmhsev >= 20
And Substr(Qmhmid, 1, 3) In ('CPA' , 'CPD' , 'CPF' , 'SQL')
Order By Rrn(Err_log) Desc
Fetch First 1 Rows Only
我想在 IBM i 上使用 SQLSTATE 和变量文本调用 RPG 中的过程。
getSQLMessage(SQLSTT: text)
变量文本应该是过程调用前最后执行的 sql 语句。 有机会这样弄吗:
EXEC SQL GET DIAGNOSTICS CONDITION 1 :text = last executed sql statement
或者有人知道我的问题的另一种解决方案?
非常感谢!
您不能使用 GET DIAGNOSTICS,但您可以先获取 JobLog
DSPJOBLOG OUTPUT(*OUTFILE) OUTFILE(QTEMP/ERR_LOG)
然后得到最后一个SQL错误:
Select Qmhmf,
Qmhmid,
Qmhmdt
From Qtemp.Err_Log
Where Qmhsev >= 20
And Substr(Qmhmid, 1, 3) In ('CPA' , 'CPD' , 'CPF' , 'SQL')
Order By Rrn(Err_log) Desc
Fetch First 1 Rows Only