oracle之如何在Godror中执行具有多个查询的文件

Renyi-Fan 阅读:72 2025-06-02 22:19:02 评论:0

我想使用Godror Oracle驱动程序执行sql文件。我的问题是Godror在文件中不接受超过1个查询。您知道我该如何解决吗?

db2, _ := sql.Open("godror", databaseURL) 
 
c, ioErr := ioutil.ReadFile(sqlFile) 
 
_, err := db2.Exec(string(c))    
 
defer db2.Close() 

使用此代码,此查询有效:
create TABLE books3 (title VARCHAR2(100)) 

但这不是:
create TABLE books3 (title VARCHAR2(100)); 
create TABLE books4 (title VARCHAR2(100)); 
create TABLE books6 (title VARCHAR2(100)); 

请您参考如下方法:

您必须编写自己的文件解析器以从文件中提取语句,然后一次执行一次。如果您使用比SQL * Plus文件更严格的语法,例如这样更容易。如果您始终将/用作SQL和PL / SQL的终止符,并确保文件不包含SQL * Plus语句(如COLUMN)。一个相关的解析器位于https://github.com/oracle/python-cx_Oracle/blob/7.3/samples/SampleEnv.py#L124-L157中的Python中

更好的方法可能是将字符串存储在Go代码中。


标签:oracle
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号