Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Добавить номер в строку  [new]
Earl11
Member

Откуда:
Сообщений: 46
Здравствуйте. Как добавить в строку номер по возрастанию? т.е...

SET @str = STUFF((SELECT  ',T.'+ QUOTENAME(table_name)
		FROM INFORMATION_SCHEMA.COLUMNS  as t 
		FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'),1,1,'')
		while @num <150 
		begin
		SET @num = @num +1
		SET @Ntbl2 = replace(@str, 'T.', 'T'+cast(@num as nvarchar)+'.')
		end


Хотелось бы увидеть на выходе

T1.[Name1],
T2.[Name2],
T3.[Name3],
...
T150.[Name150]
12 ноя 19, 01:30    [22014059]     Ответить | Цитировать Сообщить модератору
 Re: Добавить номер в строку  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1172
Earl11,

set @str = STUFF((SELECT ',T' + CAST(ROW_NUMBER() OVER (ORDER BY 1/0) AS VARCHAR) + '.' + QUOTENAME(table_name)
FROM INFORMATION_SCHEMA.COLUMNS
FOR XML PATH('')), 1, 1, '');
12 ноя 19, 02:29    [22014063]     Ответить | Цитировать Сообщить модератору
 Re: Добавить номер в строку  [new]
Earl11
Member

Откуда:
Сообщений: 46
felix_ff,
Спасибо
12 ноя 19, 09:52    [22014145]     Ответить | Цитировать Сообщить модератору
 Re: Добавить номер в строку  [new]
iap
Member

Откуда: Москва
Сообщений: 46954
Довольно странно, что для выборки имён таблиц используется INFORMATION_SCHEMA.COLUMNS.
Почему не INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'?
И строк у вас получится много на каждую таблицу...
12 ноя 19, 10:40    [22014184]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить