带有ora-01744的PL/SQL oracle函数
我在myqsl中有一组编写oracle版本所需的函数 在我面临极限1问题之前,一切都很顺利。我认为我对限额的查询是个问题,但无法找出问题所在。你能帮我一下吗 MySQL版本 导致问题的Oracle版本带有ora-01744的PL/SQL oracle函数,sql,oracle,plsql,Sql,Oracle,Plsql,我在myqsl中有一组编写oracle版本所需的函数 在我面临极限1问题之前,一切都很顺利。我认为我对限额的查询是个问题,但无法找出问题所在。你能帮我一下吗 MySQL版本 导致问题的Oracle版本 SELECT Q1.* FROM ( SELECT ROWNUM AS RWNR2, Q2.* FROM ( SELECT (NAME || ' ' || SURNAME) INTO info FROM TB_CUSTO
SELECT Q1.*
FROM (
SELECT ROWNUM AS RWNR2, Q2.*
FROM (
SELECT (NAME || ' ' || SURNAME)
INTO info
FROM TB_CUSTOMER
WHERE FLAT_ID = flatId AND TYPE = typeId
ORDER BY OWN_DATE DESC
) Q2
WHERE ROWNUM <= 1
) Q1
WHERE Q1.RWNR2 > 0;
顺便说一句,我知道表名和字段是不同的,在这个预览中值是正确的。INTO子句必须在最外层,而不是最内层。您不需要两级嵌套,一个派生表和一个rownumINTO子句必须位于最外层,而不是最内层。你不需要两个层次的嵌套,一个派生表和一个rownum是的,我编辑了那个部分,是的,我编辑了那个部分,好的,这似乎是可行的。我明白这一点。但是,对于“未找到行”错误,我能做些什么吗?@FreshPro:您需要在代码中正确捕获“未找到数据”异常并进行处理。或者创建一个总是返回某些内容的SQL语句。哦,谢谢你的提示。我将返回一个空字符串以获取信息。好吧,这似乎管用。我明白这一点。但是,对于“未找到行”错误,我能做些什么吗?@FreshPro:您需要在代码中正确捕获“未找到数据”异常并进行处理。或者创建一个总是返回某些内容的SQL语句。哦,谢谢你的提示。我将返回一个空字符串以获取信息。干杯
SELECT Q1.*
FROM (
SELECT ROWNUM AS RWNR2, Q2.*
FROM (
SELECT (NAME || ' ' || SURNAME)
INTO info
FROM TB_CUSTOMER
WHERE FLAT_ID = flatId AND TYPE = typeId
ORDER BY OWN_DATE DESC
) Q2
WHERE ROWNUM <= 1
) Q1
WHERE Q1.RWNR2 > 0;
SELECT full_name
INTO info
FROM (
SELECT (NAME || ' ' || SURNAME) as full_name
FROM TB_CUSTOMER
WHERE FLAT_ID = flatId
AND TYPE = typeId
ORDER BY OWN_DATE DESC
) Q2
WHERE ROWNUM <= 1;