SQL - Как мне создать динамический запрос, который ссылается на значения?
Я хотел бы упростить обновление нескольких запросов SQL и изменение имен таблиц для каждого запроса за один раз.
Например, могу ли я просто обновить первую строку здесь и выполнить запросы ниже для этого имени таблицы?
Я использую Sybase IQ.
Спасибо
tablename1='имя_таблицы';
изменить таблицу tablename1
добавить visit_time_latest varchar(255) по умолчанию null;
обновить tablename1
set visit_time_latest = replace (visit_time, '_', ':');
обновить tablename1 set visit_time_latest = replace (visit_time_latest,' ','');
1 ответ
Попробуйте использовать переменную для создания динамических запросов, которые вы можете запускать с помощью execute(), например:
declare @tablename1 varchar(100), @query varchar(1000)
select @tablename1 = 'tablename'
select @query='alter table '+@tablename1+' add visit_time_latest varchar(255) not null'
execute(@query)