是否有可以一次执行SQL脚本一个语句的工具?

时间:2013-01-09 22:04:17

标签: sql database

当我必须运行数据库迁移脚本时,我倾向于运用很大程度的偏执,并且dbcli < migration.sql那样一次性运行脚本。相反,我更喜欢一次一个地运行命令。到目前为止,我刚刚使用了很复杂的复制/粘贴。

必须有一个可以做这种事情的工具,但我很难找到一个使用Google,Wikpedia或StackOverflow(closeno cigar}的工具)。

这绝对是I could write myself,但已经已存在,不是吗?

这确实需要能够从具有一点交互性的命令行运行(比如显示将要执行的语句,让你按下例如ENTER执行它,然后显示输出,如果有因为服务器通常没有任何GUI可用。

我的特定数据库目标是MySQL,但不需要这样的工具是特定于数据库的。

更新

与此同时,我正在用Java编写一个可以满足我想要的实用程序。

5 个答案:

答案 0 :(得分:1)

Oracle SQL Developer一次只运行一行,只要以分号结束。

您可以使用其他驱动程序(http://www.oracle.com/technetwork/products/migration/omwb-getstarted-093461.html

连接到某些第三方数据库

答案 1 :(得分:0)

您可以尝试dbForge。有一个免费的Express Edition,但我无法从feature comparison list告诉它是否允许您单步执行任意SQL脚本。

答案 2 :(得分:0)

Emacs的SQL模式支持逐行,逐区域,逐文件发送。

当然,你必须学习emacs,但它确实可以做你想要的。

答案 3 :(得分:0)

很久以前,我为此写过my own tool,并且一直在使用和完善它。随时使用它并提供功能建议等。

答案 4 :(得分:0)

Flyway Teams Edition(商业许可)还支持在Stream parameter下一一执行语句。这不是您问题的确切答案,但至少可以为您提供有关现有工具的信息。