刚才又发现一种情况,ROWNUM去掉或者带方法的条件去掉,都可以执行成功,两个不能共存。执行失败:SELECT A.*, ROWNUM FROM (SELECT T.ID FROM T_GAD_ZXFZBJYYFWQYBAXX T WHERE T.SJGSDWDM LIKE (F('410000000000') || '%') ORDER BY T.LRSJ DESC) A执行成功:SELECT A.* FROM (SELECT T.ID FROM T_GAD_ZXFZBJYYFWQYBAXX T WHERE T.SJGSDWDM LIKE (F('410000000000') || '%') ORDER BY T.LRSJ DESC) A执行成功:SELECT A.*, ROWNUM FROM (SELECT T.ID FROM T_GAD_ZXFZBJYYFWQYBAXX T ORDER BY T.LRSJ DESC) A
可能是BUG,如果可以的话,重启下数据库试试。
你把F('410000000000') 的查询放在with as 里,看看这种还会报错不
这样写,可以执行成功:WITH M AS (SELECT F('410000000000') AS ORGCODE FROM DUAL) SELECT A.*, ROWNUM FROM (SELECT T.ID FROM T_GAD_ZXFZBJYYFWQYBAXX T,M WHERE T.SJGSDWDM LIKE (M.ORGCODE || '%') ORDER BY T.LRSJ DESC) A
这样写,可以执行成功:WITH M AS (SELECT F('410000000000') AS ORGCODE FROM DUAL) SELECT A.*, ROWNUM FROM (SELECT T.ID FROM T_GAD_ZXFZBJYYFWQYBAXX T,M WHERE T.SJGSDWDM LIKE (M.ORGCODE || '%') ORDER BY T.LRSJ DESC) A 搞不清了,可能存在BUG,只能先这样了。或者日志文件找哪个大神看下
select F('410000000') from dual
cpu【0%-5%】T_GAD_ZXFZBJYYFWQYBAXX 这个表现在没有人动,现在只有我自己登录这个账号,我只有在用plsql测试查询语句。
刚才又发现一种情况,ROWNUM去掉或者带方法的条件去掉,都可以执行成功,两个不能共存。执行失败:SELECT A.*, ROWNUM
FROM (SELECT T.ID
FROM T_GAD_ZXFZBJYYFWQYBAXX T
WHERE T.SJGSDWDM LIKE (F('410000000000') || '%')
ORDER BY T.LRSJ DESC) A执行成功:SELECT A.*
FROM (SELECT T.ID
FROM T_GAD_ZXFZBJYYFWQYBAXX T
WHERE T.SJGSDWDM LIKE (F('410000000000') || '%')
ORDER BY T.LRSJ DESC) A执行成功:SELECT A.*, ROWNUM
FROM (SELECT T.ID
FROM T_GAD_ZXFZBJYYFWQYBAXX T
ORDER BY T.LRSJ DESC) A
这样写,可以执行成功:WITH M AS (SELECT F('410000000000') AS ORGCODE FROM DUAL)
SELECT A.*, ROWNUM
FROM (SELECT T.ID
FROM T_GAD_ZXFZBJYYFWQYBAXX T,M
WHERE T.SJGSDWDM LIKE (M.ORGCODE || '%')
ORDER BY T.LRSJ DESC) A
这样写,可以执行成功:WITH M AS (SELECT F('410000000000') AS ORGCODE FROM DUAL)
SELECT A.*, ROWNUM
FROM (SELECT T.ID
FROM T_GAD_ZXFZBJYYFWQYBAXX T,M
WHERE T.SJGSDWDM LIKE (M.ORGCODE || '%')
ORDER BY T.LRSJ DESC) A
搞不清了,可能存在BUG,只能先这样了。或者日志文件找哪个大神看下