Если по whather причинам, которые вы хотите преобразовать имена таблиц в верхний регистр, вы можете:
- использовать курсор, который будет выбрать таблицы, которые вы хотите переименовать
- цикл по списку таблицы
- переименовать его с помощью sp_rename или обновить его
Обратите внимание, что вы должны обновить выберите в курсоре, чтобы удовлетворить ваши потребности (выберите столбец или имя таблицы, которую вы хотите, ...)
Это переименовывать таблицы:
declare @TABLE_NAME sysname, @TABLE_SCHEMA sysname
declare @TABLE sysname, @newName sysname
declare table_cursor Cursor
For Select TABLE_NAME, TABLE_SCHEMA From INFORMATION_SCHEMA.TABLES Where TABLE_NAME like 'xyz%' -- and TABLE_SCHEMA like ...
open table_cursor
Fetch Next From table_cursor Into @TABLE_NAME, @TABLE_SCHEMA;
While @@FETCH_STATUS = 0
Begin
Set @TABLE = quotename(UPPER(@TABLE_SCHEMA)) + '.' + quotename(UPPER(@TABLE_NAME))
Set @newName = UPPER(@TABLE_NAME)
print 'rename ' + @TABLE + ' to ' + @newName
-- uncomment next like if you really want to rename them
--exec sp_rename @TABLE, @newName
Fetch Next From table_cursor Into @TABLE_NAME, @TABLE_SCHEMA;
End
Close table_cursor
Deallocate table_cursor
Если вы хотите обновить все столбцы хуг в таблице ZYX, вы можете использовать это:
declare @TABLE_NAME sysname, @TABLE_SCHEMA sysname, @COLUMN_NAME sysname
declare @TABLE sysname, @sql nvarchar(max)
declare table_cursor Cursor
For Select TABLE_NAME, TABLE_SCHEMA, COLUMN_NAME From INFORMATION_SCHEMA.COLUMNS
Where COLUMN_NAME like 'xxx' -- and data_type '' ... and TABLE_NAME like 'xyz%' ... and TABLE_SCHEMA like ...
open table_cursor
Fetch Next From table_cursor Into @TABLE_NAME, @TABLE_SCHEMA, @COLUMN_NAME;
While @@FETCH_STATUS = 0
Begin
Set @TABLE = quotename(@TABLE_SCHEMA) + '.' + quotename(@TABLE_NAME)
set @sql = 'Update ' + @TABLE + ' set ' + @COLUMN_NAME + ' = UPPER(' + @COLUMN_NAME + ')'
print @sql
-- uncomment next like if you really want to execute them
--exec sp_executesql @sql
Fetch Next From table_cursor Into @TABLE_NAME, @TABLE_SCHEMA, @COLUMN_NAME;
End
Close table_cursor
Deallocate table_cursor
'INFORMATION_SCHEMA' являются ** ** представления каталога на системном уровне - вы ** НЕ ** непосредственно манипулировать те! Что вы на самом деле пытаетесь сделать здесь? –
_ «результат сгенерирован с ошибками» _, если вы пишете что-то вроде этого, всегда включайте сообщение об ошибке –
Нет, его просто то, что я хочу изменить все данные в нижнем регистре в верхний регистр. – RehanNoradibah