Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
sql_user2 Member Откуда: Сообщений: 382 |
Добрый вечер. Хочу динамически сформировать запрос и выполнить его, но чет не получается: DECLARE @SQL_var varchar SET @SQL_var = 'IF object_id(''tempdb..#temp105'') IS NOT NULL drop table #temp105' exec (@SQL_var) Сообщение 2812, уровень 16, состояние 62, строка 9 Не удалось найти хранимую процедуру "I". Подскажите как правильно это сделать? |
25 май 17, 19:13 [20512701] Ответить | Цитировать Сообщить модератору |
Руслан Дамирович Member Откуда: Резиновая нерезиновая Сообщений: 940 |
@SQL_var varchar
Не влезло... |
25 май 17, 19:16 [20512705] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37143 |
varchar = varchar (1) |
25 май 17, 19:21 [20512714] Ответить | Цитировать Сообщить модератору |
Руслан Дамирович Member Откуда: Резиновая нерезиновая Сообщений: 940 |
Всегда интересовало, почему DECLARE @var VARCHAR -- 1 SELECT CONVERT( VARCHAR, 1 ) -- 30 ? |
||
25 май 17, 19:24 [20512718] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8317 |
Дети, учимся читать справку... Типы char и varchar (Transact-SQL) Если значение n при определении данных или в инструкции объявления переменной не указано, то длина по умолчанию равна 1. Если значение n не указано при использовании функций CAST и CONVERT, длина по умолчанию равна 30. |
25 май 17, 19:26 [20512723] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8317 |
Руслан Дамирович, by design... |
25 май 17, 19:27 [20512724] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37143 |
|
||
25 май 17, 19:27 [20512725] Ответить | Цитировать Сообщить модератору |
Руслан Дамирович Member Откуда: Резиновая нерезиновая Сообщений: 940 |
Прочитали. Ответа на вопрос "почему" не нашли. Будем считать, что ответ "Потому что гладиолус". |
||
25 май 17, 19:28 [20512726] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31782 |
|
||||
25 май 17, 23:38 [20513190] Ответить | Цитировать Сообщить модератору |
Руслан Дамирович Member Откуда: Резиновая нерезиновая Сообщений: 940 |
Это хотя бы проливает свет - backward compatibility... |
||||
26 май 17, 09:38 [20513530] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31782 |
Но вообще ТС такой вопрос и не задавал, так что непонятен ваш комментарий "Прочитали. Ответа на вопрос "почему" не нашли." "Прочитать" советовали не про то, "почему так сделано", а про "почему не работает запрос". |
||||
26 май 17, 10:01 [20513596] Ответить | Цитировать Сообщить модератору |
sql_user2 Member Откуда: Сообщений: 382 |
Спасибо, поставил длину - заработало. ох уж этот микрософт - затейник |
26 май 17, 10:23 [20513702] Ответить | Цитировать Сообщить модератору |
Руслан Дамирович Member Откуда: Резиновая нерезиновая Сообщений: 940 |
Я тот ответ принял на свой счет. Врожденный эгоцентризм. |
||
26 май 17, 10:32 [20513759] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8317 |
Дело не в том, что кто-то затейник, а в том, что кто-то заменяет недостаток точной информации воображением. |
||
26 май 17, 11:23 [20514004] Ответить | Цитировать Сообщить модератору |
VGalamakh Member Откуда: Киев (Альба) Сообщений: 66 |
Select Cast('01234567890123456789' as varchar) |
||
26 май 17, 18:13 [20515908] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37143 |
|
||||
26 май 17, 18:35 [20515973] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |