我尝试使用来自Oracle的golang和查询数据。我的SQL查询是:
SELECT * FROM TABLE1 OFFSET 10 ROWS;
但它给出了一个错误:
EXTRA *errors.withStack=dpiStmt_execute: ORA-00933: SQL command not properly ended
我在SQL * Plus中查询时,我的SQL查询工作正常,但在使用golang时出错。
如果未指定偏移量,则假定它为0(零)。所以,删除该条款(因为它在你的情况下什么都不做),即
select * from table1
并在golang中使用该查询。
我很确定你的结束分号是多少。分号是用于分隔多个SQL语句或关闭pl / sql块的字符。因此,当您在SQL语句结束时编写它时,解析器不知道如何处理它,因为他只等待一个SQL语句。
正如Alex Poole指出的那样,我尝试运行查询而不使用终止分号。如果您尝试执行以分号结尾的查询(在SQL / Plus中完全合法),许多Oracle客户端库(即python中的cx_Oracle
,ADO.NET Oracle库)会抱怨