Предупреждение об изменении столбцов в Sybase

Я запускаю следующий код sql в sybase

Declare @cp  int 
select @cp = count(*) from syscolumns  where id = object_id('activ') and name = 'pending'

if  (@cp = 0 )
begin

    execute("
       ALTER TABLE activ ADD pending        char(1)           DEFAULT  'Y'           
    ")
    print 'pending added '
end

Когда я запускаю первый раз, я получаю «предупреждение: схема для таблицы activ изменилась. Отбросьте и заново создайте каждый триггер в этой таблице, который использует предложение if update»

При последующих запусках я больше не получаю это предупреждение. Есть ли способ избежать появления этого предупреждения в первый раз?

Я просмотрел несколько полезных ссылок. 1Информация о самой ошибке. Я до сих пор не знаю, как удалить эту ошибку / предупреждение.

какой продукт Sybase (ASE? SQLAnywhere? IQ? Advantage?)? что вы имеете в виду под «последующими прогонами» ... при последующих прогонах существовала ли колонка и, следовательно, execute(...) не сработал? ... вы уронили колонку между прогонами, чтобы execute(...) срабатывал каждый раз?

markp-fuso 07.08.2018 21:34

@markp это ASE. При последующих запусках он не входит в условие if, потому что изменение было выполнено в первый раз. Если я отброшу столбец и снова запущу его, я снова получу такое же предупреждение.

minusSeven 08.08.2018 12:26

Итак, вы говорите, что сценарий ведет себя так, как ожидалось ... когда столбец не существует, вызывается execute(...) и генерируется предупреждающее сообщение ... когда столбец уже существует, вызывается execute(...)нет, поэтому предупреждающее сообщение не создается ; Я не знаю, как отключить предупреждающее сообщение; Можете ли вы (или ваш родительский скрипт) просто проигнорировать сообщение?

markp-fuso 08.08.2018 14:51
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
3
52
0

Другие вопросы по теме