Как я могу отбросить все индексы в базе данных SQL с одной командой?

Можно сделать это с пониманием списка:

T2 = [[int(column) for column in row] for row in T1]

внутреннее понимание списка ([int(column) for column in row]) сборки list из int с от последовательности int - способные объекты, как десятичные строки, в row. Внешнее понимание списка ([... for row in T1])) сборки список результатов внутреннего понимания списка относилось к каждому объекту в T1.

фрагмент кода перестанет работать, если какая-либо из строк будет содержать объекты, которые не могут быть преобразованы int. Вам будет нужна более умная функция, если Вы захотите обработать строки, содержащие недесятичные строки.

, Если Вы знаете структуру строк, можно заменить внутреннее понимание списка вызовом к функции строки. Например,

T2 = [parse_a_row_of_T1(row) for row in T1]
20
задан djangofan 3 September 2009 в 18:18
поделиться

1 ответ

Вы очень близко.

declare @qry nvarchar(max);
select @qry = 
(SELECT  'DROP INDEX [' + ix.name + '] ON ' + OBJECT_NAME(ID) + '; '
FROM  sysindexes ix
WHERE   ix.Name IS NOT null and ix.Name like '%prefix_%'
for xml path(''));
exec sp_executesql @qry
26
ответ дан 29 November 2019 в 23:48
поделиться