﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / SQL Server / Базы данных  / Транзакция на несколько CREATE VIEW / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Thu, 08 Jan 2009 17:16:09 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Транзакция на несколько CREATE VIEW</title><link>http://relib.com/forums/Topic892736-22-1.aspx</link><description>Нельзя помещать несколько выражений create view в один блок команд и, следовательно, для помещения их в одну транзакцию необходимо писать:[code]begin tran tr1go	CREATE VIEW View1	AS	SELECT * FROM table1	go	CREATE VIEW View2	AS	SELECT * FROM table2gocommit tran tr1[/code] При этом определенные переменные после поступления команды go потеряются.Выход, я думаю, - не запихивать "CREATE VIEW" по три штуки в одну транзакцию, а выполнять их последовательно с обработкой возможной ошибки после каждого"CREATE VIEW".</description><pubDate>Fri, 24 Mar 2006 12:51:00 GMT</pubDate><dc:creator>Airhand</dc:creator></item><item><title>Транзакция на несколько CREATE VIEW</title><link>http://relib.com/forums/Topic892736-22-1.aspx</link><description>Друзья, пишу скрипт на создание нескольких VIEW,и нужно на это дело создать транзакцию.Для этого declare @flag - переменную, как флаг ошибок, присваиваю ей значение @@error после каждого CREATE. Но CREATE VIEW сильно ругается без GO.А после GO скрипт не видит @flag, можно конечно создать временную таблицу и работать с ней как с @flag, но после GO скрипт не видит и begin tran.Как быть???</description><pubDate>Wed, 15 Mar 2006 12:21:00 GMT</pubDate><dc:creator>slamer</dc:creator></item></channel></rss>