为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: DM8
【操作系统】:
【CPU】:
【问题描述】*:
SELECT ID,INSP_ID,BIZ_NAME,TYP_NAME,SPCL_NAME,OBJ_NAME,OBJ_NUM,RSLT,MEAS,UPDATE_TIME,FORM_NAME,SIGN_NAME,GXRQ FROM DATA.RESET WHERE ((id = ?));
首先,在 v$sql_history 系统表中找找看是否有之前查询这个SQL的记录。如果能找到的话,记录一下后面EXEC_ID字段的值
然后,在 v$sql_binddata_history 系统表中根据 EXEC_ID 值查询,如果成功,则能得到执行这句SQL时传递的绑定参数值,只不过是以 varbinary 格式存储的,需要调用系统函数来进行解析
把查到的BINDDATA字段内容,贴到下面这个脚本里,然后执行试试看
DECLARE
V_ARGC INTEGER;
V_DATA VARBINARY := 查到的BINDDATA字段内容;
BEGIN
V_ARGC := SF_EXTRACT_BIND_DATA_NUM(V_DATA,1);
SELECT SF_EXTRACT_BIND_DATA(V_DATA,LEVEL,1) AS ARGTYPE
,SF_EXTRACT_BIND_DATA(V_DATA,LEVEL,2) AS ARGVAL
CONNECT BY LEVEL <= V_ARGC;
END;
从您的sql 来就看 会传入一个和id列类型相同的参数,例如int类型的1.