Проблема += со строками

Viper360
Дата: 21.01.2009 10:15:52
Подскажите, есть ли аналог += для строк? Мне нужно создать что-то такое :

DECLARE @category varchar (255)
DECLARE @block varchar (MAX)
DECLARE nomencl_cursor CURSOR
FOR SELECT [dbo].[equipment].[category] 
      FROM [dbo].[equipment], [dbo].[ext_nom_equ]
     WHERE [dbo].[ext_nom_equ].[id_nomncl] = 3
       AND [dbo].[ext_nom_equ].[id_equipm] = [dbo].[equipment].[code]
     ORDER BY [dbo].[equipment].[category]
OPEN nomencl_cursor
FETCH NEXT FROM nomencl_cursor INTO @category
WHILE @@FETCH_STATUS = 0
BEGIN
SET @block += (@category+CHAR(13))
FETCH NEXT FROM nomencl_cursor INTO @category
END
CLOSE nomencl_cursor
DEALLOCATE nomencl_cursor
PRINT @block

Но естественно скрипт не выполняется... Пробовал SET @block = @block + (@category+CHAR(13)) , но в результате @block пустой, хотя данные должны быть... Заранее спасибо!
Glory
Дата: 21.01.2009 10:17:33
DECLARE @block varchar (MAX)
SET @block =''

Потому что NULL+что-то будет NULL
aleks2
Дата: 21.01.2009 10:18:11
DECLARE @category varchar (255)
DECLARE @block varchar (MAX)

set @block=''

DECLARE nomencl_cursor CURSOR
FOR SELECT [dbo].[equipment].[category] 
      FROM [dbo].[equipment], [dbo].[ext_nom_equ]
     WHERE [dbo].[ext_nom_equ].[id_nomncl] = 3
       AND [dbo].[ext_nom_equ].[id_equipm] = [dbo].[equipment].[code]
     ORDER BY [dbo].[equipment].[category]
OPEN nomencl_cursor
FETCH NEXT FROM nomencl_cursor INTO @category
WHILE @@FETCH_STATUS = 0
BEGIN
SET @block += (@category+CHAR(13))
FETCH NEXT FROM nomencl_cursor INTO @category
END
CLOSE nomencl_cursor
DEALLOCATE nomencl_cursor
PRINT @block
Viper360
Дата: 21.01.2009 10:21:51
Уже глаза совсем не видят))) Простите за глупый вопрос!!! Огромное спасибо!!!
Паганель
Дата: 21.01.2009 10:25:17
aleks2
SET @block += (@category+CHAR(13))
Это что, в 2008 ввели?
У меня в 2005 "+=" не понимает, говорит "Incorrect syntax near '+'"

Автору: посмотрите Сложение символьных полей в запросе, может, это Ваш случай...
Гавриленко Сергей Алексеевич
Дата: 21.01.2009 10:42:23
Паганель
Это что, в 2008 ввели?
Угу.
Паганель
Дата: 21.01.2009 10:43:50
Понял, отстал от жизни :-(
Пойду о нововведениях читать...