Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
23.10.2001, 14:03
|
|||
|---|---|---|---|
|
|||
Не получается передать параметр для sp_executesql - не пойму в чем дело |
|||
|
#18+
В таблице products среди прочих есть столбцы с_state tinyint, sernum varchar( Лок. переменная @dserial типа nvarchar(имеет вид 'БК 9999'. Есть след.код в sp, изменяющий статус и символьный код товара SET @SQLQuery = N'update dbo.products set c_state =9, sernum='+@dserial SET @SQLQuery = @SQLQuery +N' where pid=423425325' EXEC sp_executesql @SQLQuery Проблема состоит как передать переменную в генерируемый запрос ВМЕСТЕ С КАВЫЧКАМИ , иначе update не происходит Пробовал передать как параметр - тоже не работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.10.2001, 14:21
|
|||
|---|---|---|---|
Не получается передать параметр для sp_executesql - не пойму в чем дело |
|||
|
#18+
Считайте кавычки Должно быть: set @dserial = '''БК 9999''' ..... SET @SQLQuery = N'update dbo.products set c_state =9, sernum=''''' + @dserial + '''''' ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.10.2001, 12:20
|
|||
|---|---|---|---|
|
|||
Не получается передать параметр для sp_executesql - не пойму в чем дело |
|||
|
#18+
При установке значения через SET @dserial=<value> все работает. У меня @dserial есть результат вот этого запроса: SET @SQLQuery =N'select substring(max(sernum),1,2) +SPACE(1)+ cast((cast(substring(max(sernum),3,6) as int)+1) as nvarchar(5)) as sn' SET @SQLQuery =@SQLQuery + N' from products where sernum is not null' EXEC sp_executesql @SQLQuery,N'@sn nvarchar( out',@sn = @dserial out и подставляться в указанный запрос ну никак не желает. PS.Еще заметил, что фокус проявляется с датами(т.е. переменные, где незримо есть символ quot). Полученная внутри sp_executesql @SQLQuery дата сильно отличалась от предполагаемой- результат convert(nvarchar(10),getdate(),110) в isql и внутри генерируемого запроса при присвоении отличается кардинально! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1825218]: |
0ms |
get settings: |
6ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
7ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 395ms |

| 0 / 0 |
