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)
Другие вопросы по тегам