【问题标题】:monetdblite: Is it possible to configure "monetdb_query" to run multiple statements?monetdblite:是否可以配置“monetdb_query”来运行多个语句?
【发布时间】:2019-01-22 10:54:39
【问题描述】:

我正在尝试运行以下脚本

"create table T1(i int); create table T2(i int);" 

在使用 MonetDBLite C 及其“monetdb_query”API 的全新数据库中,但“monetdb_query”函数似乎只执行第一条语句。

有什么方法可以一次运行整个脚本(点逗号分隔的有效语句)(最好是在同一个事务中)?

谢谢,

【问题讨论】:

    标签: sql monetdblite


    【解决方案1】:

    据我所知,抱歉。不过很高兴审查 PR。主要问题是多个查询可能会产生多个结果集,这会使 API 变得非常复杂。但是,如果您所追求的只是执行并且您不关心结果,则可以通过一些小黑客来完成。尝试使用小写“s”作为最后一个参数调用monetdb_query_internal

    【讨论】:

    • 好像是不允许的。 sql_upgrades.c,第 1098 行 if (be->language !='S') { msg = createException(SQL, "SQLparser", SQLSTATE(42000) "Unrecognized language prefix: %ci\n", be->language); goto finalize; } 甚至在我更改代码以将条件也传递给 's' 之后,仍然无法正常工作。我想上述情况是有原因的。
    • 错误消息Unrecognized language prefix: Li 也可能是数据库仍处于维护模式的症状。要解决此问题,请运行 monetdb release <DATABASE_NAME>,然后运行 ​​monetdb start <DATABASE_NAME>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    • 2023-01-20
    • 2019-03-30
    相关资源
    最近更新 更多