Visual Studio 2010 прекращает сборку баз данных, если существует - PullRequest
3 голосов
/ 22 сентября 2011

Есть ли способ, которым я могу изменить операторы "Alter" для таблиц и процедур на "Drop, если существует", когда сборка выплевывает сценарии ?? Использование Visual Studio 2010 Ultimate. TFS 2010.

Ответы [ 2 ]

0 голосов
/ 09 ноября 2011

После того, как процедура была создана впервые, вы увидите код, который инструмент получает / читает из базы данных, больше не скрипт, который вы можете редактировать; конечно, вы можете скопировать / вставить все, что он вам показывает, в текстовый редактор и сохранить его как файл SQL (расширение .sql).

Если вы попробуете этот пример кода

IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'usp_test_proc')
    BEGIN
        DROP  Procedure  usp_test_proc
    END
ALTER PROCEDURE dbo.usp_test_proc
    /*
    (
    @parameter1 int = 5,
    @parameter2 datatype OUTPUT
    )
    */
AS
    /* SET NOCOUNT ON */
    select name, comment from test_table
    RETURN

вы получите это сообщение:

"Невозможно сохранить объект, поскольку тип оператора не поддерживается. Он должен начинаться с CREATE или ALTER."

Я предлагаю вам создать свои собственные файлы процедур SQL и добавить существующий статус вверху, например:

IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'usp_test_proc')
    BEGIN
        DROP  Procedure  usp_test_proc
    END
CREATE PROCEDURE usp_test_proc
    /*
    (
    @parameter1 int = 5,
    @parameter2 datatype OUTPUT
    )
    */
AS
    /* SET NOCOUNT ON */
    select name, comment from test_table
    RETURN

Таким образом, вы можете отредактировать / изменить файл кода SQL по своему усмотрению, а затем просто заново создать процедуру подключения к базе данных, открыв новое подключение для запросов через меню Visual Studio «Редактор данных / Transact-SQL / Новое подключение к запросу», откройте файл SQL и нажмите кнопку «Выполнить SQL» на панели инструментов (зеленая стрелка).

0 голосов
/ 02 ноября 2011

Я считаю, что код, на который вы ссылаетесь, генерируется из шаблона.

Смотри здесь ...

C: \ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ Tools \ Templates \ Элементы проекта базы данных

и измените эти два файла.

  • New Table Script.sql
  • Новый скрипт хранимой процедуры.sql
...