Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.sql.SQLException:关键字';顶部';_Java_Sql Server_Hibernate_Stored Procedures - Fatal编程技术网

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请查看: