Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание хранимых процедур в SQL2005, Строки со сценарием через ADO .NET 
:(
    Опции темы
Stellar
Дата 25.11.2008, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



Здравствуйте!

Вот строка команды со сценарием:

Код

private string createStoredProcedures=  
//addNewSite - Добавление нового помещения
                                                " CREATE PROCEDURE dbo.sp_addNewSite" +
                                                " @site_name nvarchar(255)," +
                                                " @description nvarchar(255)," +
                                                " @record_status int," +
                                                " @company_id int," +
                                                " @update_user_id int," +
                                                " @site_image_id int," +
                                                " @custom_text nvarchar(255)" +
                                                " AS" +
                                                " INSERT INTO dbo.site" +
                                                " (site_name, description, record_status, company_id, update_user_id, site_image_id, custom_text)" +
                                                " VALUES" +
                                                " (@site_name, @description, @record_status, @company_id, @update_user_id, @site_image_id, @custom_text);" +
//addNewPurpose - Добавление нового назначения
                                                " CREATE PROCEDURE dbo.sp_addNewPurpose" +
                                                " @purpose_name nvarchar(255)," +
                                                " @description nvarchar(255)," +
                                                " @record_status int," +
                                                " @company_id int," +
                                                " @update_user_id int" +
                                                " AS" +
                                                " INSERT INTO dbo.purpose" +
                                                " ( purpose_name, description, record_status, company_id, update_user_id )" +
                                                " VALUES" +
                                                " ( @purpose_name, @description, @record_status, @company_id, @update_user_id );"; 



По отдельности оба сценария выполняются, процедура создаётся. Если выполнить это как единый сценарий, идёт ругня что мол:
Must declare the scalar variable "@purpose_name".

Чего не так?

Если выполнять это через SQL Server management studio, выполняется только при вставке GO между сценариями. Как победить сей глюк?

Спасибо.

PM MAIL   Вверх
thomas
Дата 26.11.2008, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



Stellar
Цитата

выполняется только при вставке GO между сценариями.

Ну, так и вставь GO между ... 


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
Stellar
Дата 26.11.2008, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



 smile 

Ставил - не работает.

Пишет про некорректный синтаксис рядом с GO
PM MAIL   Вверх
shmarov
Дата 26.11.2008, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 15.6.2007
Где: 1001101 region

Репутация: нет
Всего: 1



можно попробовать разбить сценарий на 2 части и выполнить разными командами, но в рамках одной транзакции. теоретически)
PM MAIL   Вверх
Stellar
Дата 26.11.2008, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



Хранимых процедур будет создаваться оччень много, это только первые две
PM MAIL   Вверх
shmarov
Дата 26.11.2008, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 15.6.2007
Где: 1001101 region

Репутация: нет
Всего: 1



не совсем понял
можно же взять сценарий со списком хранимых процедур (я так понимаю он уже имеется), сделать split по, допустим, ключу "CREATE" и выполнить все подсценарии последовательно в цикле в рамках одной транзакции. Примерно то же самое, что выполнять их одним списком. Ну, само собой, нужно будет CREATE вернуть в каждый кусок сценария. Чем не вариант?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.1025 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.