Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Не получается передать параметр для 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:03 |
|
||
|
Не получается передать параметр для sp_executesql - не пойму в чем дело
|
|||
|---|---|---|---|
|
#18+
Считайте кавычки Должно быть: set @dserial = '''БК 9999''' ..... SET @SQLQuery = N'update dbo.products set c_state =9, sernum=''''' + @dserial + '''''' ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2001, 14:21 |
|
||
|
Не получается передать параметр для 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 и внутри генерируемого запроса при присвоении отличается кардинально! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2001, 12:20 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32015908&tid=1825218]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 335ms |

| 0 / 0 |
