Tablo adını değiştirmek mümkün ama hakkatten çok zahmetli. Aslında bu zahmet bir defaya mahsus öncelikle bu tablo adı bilgileri sistem tablolarında tutuluyor. Mesela tablo adları RDB$RELATIONS tablosunda tutulmakta o zaman burda
Kod: Tümünü seç
update RDB$RELATIONS set RDB$RELATION_NAME ='yeni' where RDB$RELATION_NAME ='eski'
diyerekten bildik update kodunu yazdığınızda tablo adı şipşak değişiveriyor. Lakin şöyle bi güzelliği var bu tabloya ait fieldler de RDB$RELATION_FIELDS diye bir tablo var ve orada tutuluyor ve bunların birbirlerine bağlanmalarıda maalesef bir ID ile değil direk tablonun adıyla dolayısıyla bu tabloyada müdahale etmeniz gerekiyor (nerde bu referential integrity tablo adı değişiyor fieldler kalıyor, var demekki bir bildikleri) .
Bunu trigger marifetiyle yapabiliriz. RDB$RELATIONS tablosunun update trigger ına
RDB$RELATION_FIELDS deki alanları değiştireceğimiz update kodunu yazıyoruz
Kod: Tümünü seç
set = new.RDB$RELATION_NAME where RDB$RELATION_NAME = old.RDB$RELATION_NAME
şeklinde değiştiriyor, tabi buna benzer başka tablolarda da ilişkiiler olabilir eğer varsa onlarıda bulmak gerekebilir, primary key ler de foreign key lerde olabilir mesela.
Her ne kadar uzun gözüksede bunları tespit edip bir script hazırlarsınız ve her db oluşturduğunuzda bunu bi defaya mahsus çalıştırısanız tablo adınızı değiştirebilirsiniz ya da firebird dekiler eğer hala yazmadılarsa ya şuna bi el atalım da milleti uğraştırmayalım diyebilirler.
IBExpert ücretsizde system tablolarını göremedim DBWorkbench le gezindim, system tablosu üzerinde trigger oluşturma yetkiniz vs. var (sql den oluyor).
Şahsen ben ddl i kopyalar işimi görürdüm.