![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как запросом сделать конкатенацию всех строковых значений [MSSQL]
big_bugzy © (2003-10-30 15:57:00)
в определенном поле таблицы??
т.е. попросту сделать стринговый SUM ??
Fay (2003-10-30 21:13:00) [1]
declare @s varchar(do_hrena)
select @s = ""
select @s = @s+Field from Table
print "Wow!"
SergSuper (2003-10-30 19:14:00) [2]
если порядок не важен, то можно и без курсора
http://www.sql.ru/faq/faq_topic.aspx?fid=130
Sandman25 (2003-10-30 17:07:00) [3]
Еще интересно, в каком порядке конкатенировать...
big_bugzy (2003-10-30 17:05:00) [4]
Nikolay M. © ,Reindeer Moss Eater ©
понял, значит буду с курсорами разбираться...
paul_k (2003-10-30 17:03:00) [5]
объявить курсор
Query Analiser - F1-Cursor
и дальше по циклу выбрать все записи из курсора
но, подчеркиваю тип строка не безконечен и исключения могут не сгенерится
проверь сначала результат след. селекта
declare @a varchar(5)
select @a="12345"+"12345"
select @a
и десять раз подумай надо ли оно, и нельзя ли другим способом сделать
Nikolay M. (2003-10-30 16:59:00) [6]
> как в SQL сделать цикл и сложить записи?
Reindeer Moss Eater © (30.10.03 16:01) [1]
все написал - через создание курсора.
> нет необходимости хранить это, нужно один раз сложить и
> все...
Делай тогда вообще на клиенте. Конечно, если объемы позволяют, чтобы их по сети тягали. Но правильнее, конечно, через ХП и курсор.
big_bugzy (2003-10-30 16:54:00) [7]
paul_k ©
как в SQL сделать цикл и сложить записи?
Nikolay M. ©
нет необходимости хранить это, нужно один раз сложить и все...
Nikolay M. (2003-10-30 16:27:00) [8]
Можно еще тригеры повесить на insert/update/delete и перестраивать руками это "определенное поле таблицы".
Хотя смысл сих манипуляций для меня лично - загадка...
paul_k (2003-10-30 16:23:00) [9]
подробнее - по циклу сложить все строки в одну.
только, по моему мнению, бред это и попытка налететь на ограничение типа. Тем более, насколько я помню, не всегда при присвоении строковой переменной строки длиннее разрешенного генерится исключение. ТО есть просуммировать вроде просуммирует а в результате будет, ну скажем первые 255 символов (или первые 4000 - как переменную объявить)
и какой смысл самому себе грабли подкладывать?
big_bugzy (2003-10-30 16:04:00) [10]
Reindeer Moss Eater ©
Можно по подробнее??
Reindeer Moss Eater (2003-10-30 16:01:00) [11]
TransactSQL + курсор + операции сложения (||)