java.sql.SQLException:关键字';顶部';
我有一个存储过程java.sql.SQLException:关键字';顶部';,java,sql-server,hibernate,stored-procedures,Java,Sql Server,Hibernate,Stored Procedures,我有一个存储过程 CREATE PROC dbo.TestSproc as select COUNT(*) from dbo.TestCase 它不会产生任何有用的东西,但我无法通过hibernate调用它 Query query = m_entityManager.createNativeQuery("CALL TestSproc()"); query.getSingleResult(); 它会导致java.sql.SQLException:关键字“top”附近的语法不正确。其他程序也有
CREATE PROC dbo.TestSproc
as
select COUNT(*) from dbo.TestCase
它不会产生任何有用的东西,但我无法通过hibernate调用它
Query query = m_entityManager.createNativeQuery("CALL TestSproc()");
query.getSingleResult();
它会导致java.sql.SQLException:关键字“top”附近的语法不正确。其他程序也有同样的问题
本程序中没有
TOP
语句。有人知道如何修复它吗?如果您使用的是SQL Server,您可能希望尝试使用exec TestSproc
执行存储过程,而不是CALL TestSproc()
。我猜TOP
错误来自getSingleResult()
。首先修复存储过程错误。这可能是因为您使用了getSingleResult()
谢谢,它确实是由getSingleResult()引起的。如果您是DB is Oracle,“Top”将无法工作。您可以使用RowNum。因此,如果您想要排名前1位,则RowNum=1。如果您想要排名前10位,那么如果我使用exec I get java.sql.SQLException:Unrecogned sql escape'exec'位于第6行位置,则为RowNum请查看: