我们如何在与其他查询的事务中创建 VIEW?
Posted
技术标签:
【中文标题】我们如何在与其他查询的事务中创建 VIEW?【英文标题】:How can we create a VIEW in transaction with other queries? 【发布时间】:2011-11-06 06:55:45 【问题描述】:我有一个查询生成器,我需要检查视图是否存在并重新创建它。另外我想在创建视图之前创建一个表。如何在事务中完成这些工作。
注意:create view 必须是批处理中的第一条语句。
【问题讨论】:
【参考方案1】:用GO分隔你的语句
begin transaction
create table xx ....
go
create view v_xx
as
....
go
commit transaction
【讨论】:
我在我的 c# 代码中运行这个查询。我在 GO 之后添加了 \n\r 但这对我不起作用。 @masoud - SQL Server 不理解GO
,它只是在某些工具中用作批处理分隔符。您可以删除GO
语句并改用EXEC('create view v_xx')
。
@masoudramezani,很高兴看到你成功了。您的另一个选择是从您的 C# 代码控制事务并一次执行一批。在异常处理程序中完成提交或回滚,以防出现问题。以上是关于我们如何在与其他查询的事务中创建 VIEW?的主要内容,如果未能解决你的问题,请参考以下文章
从多个表中创建 Sql Server VIEW GROUPing BY,选择子查询作为别名
如何在 berkelydb java edition db base api 中创建日志文件
为啥 SELECT 在 SQL Server 中创建未提交的事务?