Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 использование переменных в хранимой процедуре  [new]
Nelya_Kost
Member

Откуда:
Сообщений: 53
Добрый вечер! Подскажите, пожалуйста, как правильно указать переменную в хранимой процедуре.
EXEC @result = master..xp_cmdshell 'bcp "select * from kec1.dbo.kec_izv"  queryout "'+@UserPath+'" -w -t"\","\" -T '

Значение переменной @UserPath передается из программы верно, но файл не создается. Предполагаю, что неправильно прописан синтаксис переменной. Помогите! В стопоре из-за такой мелочи!Заранее спасибо!
13 фев 13, 15:21    [13921021]     Ответить | Цитировать Сообщить модератору
 Re: использование переменных в хранимой процедуре  [new]
Glory
Member

Откуда:
Сообщений: 104751
Nelya_Kost
Предполагаю, что неправильно прописан синтаксис переменной.


EXEC @result = master..xp_cmdshell @variable_with_command_text
13 фев 13, 15:22    [13921029]     Ответить | Цитировать Сообщить модератору
 Re: использование переменных в хранимой процедуре  [new]
Nelya_Kost
Member

Откуда:
Сообщений: 53
Glory
Nelya_Kost
Предполагаю, что неправильно прописан синтаксис переменной.


EXEC @result = master..xp_cmdshell @variable_with_command_text

и дальше текст 'bcp "select * from kec1.dbo.kec_izv" queryout '+@UserPath+' -w -t"\","\" -T '?
Если так, то потом ругается на ковычки
13 фев 13, 15:28    [13921080]     Ответить | Цитировать Сообщить модератору
 Re: использование переменных в хранимой процедуре  [new]
Glory
Member

Откуда:
Сообщений: 104751
Nelya_Kost
и дальше текст 'bcp "select * from kec1.dbo.kec_izv" queryout '+@UserPath+' -w -t"\","\" -T '?

Дальше ничего нет
13 фев 13, 15:29    [13921091]     Ответить | Цитировать Сообщить модератору
 Re: использование переменных в хранимой процедуре  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2567
Nelya_Kost,

@variable_with_command_text = вам сначала нужно сформировать команду запуска в переменной, а затем уже передать эту переменную процедуре xp_cmdshell
13 фев 13, 15:38    [13921164]     Ответить | Цитировать Сообщить модератору
 Re: использование переменных в хранимой процедуре  [new]
Nelya_Kost
Member

Откуда:
Сообщений: 53
а можно подробнее?ни где в документации не могу найти про использование @variable_with_command_text
14 фев 13, 07:24    [13923921]     Ответить | Цитировать Сообщить модератору
 Re: использование переменных в хранимой процедуре  [new]
aleks2
Guest
Nelya_Kost
а можно подробнее?ни где в документации не могу найти про использование @variable_with_command_text


Это надо смотреть описание оператора EXEC и общее описание параметров хранимых процедур.

Параметр процедуры НЕ МОЖЕТ БЫТЬ ЗАДАН выражением: exec myProc @x=1+2
Только константа или переменная: exec myProc @x=3
или
set @y=1+2; exec myProc @x=@y
14 фев 13, 07:30    [13923923]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить