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