首页 > 解决方案 > 如何通过 R 代码设置 sql 分隔符?

问题描述

我需要通过 R 代码在 sql server 中创建一个触发器,为此我需要将我的 sql 分隔符设置为 //。我尝试执行以下操作:

dbExecute(con, "delimiter //")

dbExecute(con, "delimiter //\n")

dbExecute(con, "delimiter //\t")

我还使用其他 DBI 功能尝试了上述场景,例如

dbGetQuerydbSendQuery

但我收到以下错误。

could not run statement: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delimiter //' at line 1

标签: mysqlrr-dbi

解决方案


事实证明,为了使用 DBI 包通过 R 执行 sql 触发器,不需要设置和取消设置分隔符。我们可以直接执行触发命令。

这与通过 SQL 命令行设置触发器时需要执行的操作不同,因为触发器语法本身包含分号;,为了避免与默认 SQL 分隔符冲突,;我们暂时将分隔符设置为较少使用的特殊分隔符字符,例如//带有命令,例如

delimiter //

然后恢复为默认分隔符

delimiter ;

通过 R 的 DBI 包执行触发器时不需要这样做。


推荐阅读