请教一个关于spring管理SQL语句的问题~~~~

时间:2021-01-12 21:54:44
下面的SQL写法哪有错误呢,运行起来一直报错。是用Spring管理的。
-------------
SELECT   NameId,PrtedNameId FROM ((SELECT n, t.AppDate AS appdate
             FROM NmRsName n, NmRsEnt e, NmRsTransact t
            WHERE e.RegVno = ?
              AND (n.PrtedNameId IS NULL)
              AND (n.FullNameId IS NULL)
              AND n.NameStateCo = '18'
              AND n.id = e.id
              AND n.id = t.NameId)
          UNION
          (SELECT n, b.AppDate AS appdate
             FROM NmRsName n, NmRsEnt e, NmRsTransactBak b
            WHERE e.RegVno = ?
              AND (n.PrtedNameId IS NULL)
              AND (n.FullNameId IS NULL)
              AND n.NameStateCo = '18'
              AND n.id = e.id
              AND (n.id = b.NameId)))
ORDER BY appdate DESC

4 个解决方案

#1


SQL语句和SPRING管理没有什么关系吧,你这是SQL语句还是HQL语句,把它直接丢数据库调试好了再放应用里面把

#2


ORDER BY appdate DESC 把这个去掉看看

#3


select n.*

#4


SELECT n ? 出错了吧。

另外:
写sql 尽量保持良好习惯,  最好直接指明字段名。 

我有一个项目, 上线了半年一直运行良好的, 最近一些页面莫名奇妙的发现sql执行出错。 最后找到的原因是因为oracle 从10.2.1 升级到10.2.3 后 , 导致部分sql执行失败了。
最后总结是 以后不要写 select * 这样的语句。

#1


SQL语句和SPRING管理没有什么关系吧,你这是SQL语句还是HQL语句,把它直接丢数据库调试好了再放应用里面把

#2


ORDER BY appdate DESC 把这个去掉看看

#3


select n.*

#4


SELECT n ? 出错了吧。

另外:
写sql 尽量保持良好习惯,  最好直接指明字段名。 

我有一个项目, 上线了半年一直运行良好的, 最近一些页面莫名奇妙的发现sql执行出错。 最后找到的原因是因为oracle 从10.2.1 升级到10.2.3 后 , 导致部分sql执行失败了。
最后总结是 以后不要写 select * 这样的语句。