1
Я использую Firebird 2.5 У меня есть несколько таблиц с именем столбца 'col1', и я хотел бы удалить его.Как удалить столбец во всех таблицах
я могу использовать это заявление:
DELETE FROM RDB$RELATION_FIELDS
WHERE RDB$FIELD_NAME = 'col1';
Но я не знаю, это безопасно.
Я пытаюсь использовать блок выполнения для нескольких операторов выполнения, но я не знаю, как его объединить.
SET TERM^;
EXECUTE BLOCK AS
DECLARE s AS VARCHAR(200)
BEGIN
WHILE (SELECT rf.RDB$RELATION_NAME FROM RDB$RELATION_FIELDS rf WHERE rf.RDB$FIELD_NAME = 'AKTYWNY';) DO
BEGIN
ALTER TABLE :s DROP c1;
END
END^
SET TERM ;^
Мессинг с системными таблицами НЕ безопасен, вместо этого используйте 'alter table drop column'! – ain