3
  • 我需要创建一个数据库
  • 在创建的数据库上运行 SQL 脚本
  • 我需要以编程方式将一些数据输入到创建的 Db 中

如果任何步骤失败,整个事务应该回滚甚至数据库创建。但是当我在创建数据库上使用事务属性时,它会引发异常

多语句事务中不允许 CREATE DATABASE 语句。

有没有什么方法可以实现相同的而不是删除数据库命令。(即以编程方式删除数据库)

4

2 回答 2

4

恐怕你不能。

MSDN 文档

CREATE DATABASE 语句必须在自动提交模式(默认事务管理模式)下运行,并且不允许在显式或隐式事务中运行。

于 2013-04-15T09:37:19.900 回答
2

不,这是不可能的。CREATE DATABASE

CREATE DATABASE 语句必须在自动提交模式(默认事务管理模式)下运行,并且不允许在显式或隐式事务中运行。

因此,您必须在最后明确检查并发出 aDROP DATABASE进行清理。

于 2013-04-15T09:39:36.300 回答