Oracle- ORA-54032 Hatası #virtual table

Merhabalar,

Oracle üzerinde daha önce oluşturduğunuz bir tablonun kolonlarından birinin ismini değiştirmek istediğinizde kullanacağız script aşağıdaki gibidir.

Alter Table HAKREFTBL RENAME COLUMN THESISPLACE TO PLACE;

Eğer daha önce oluşturmuş olduğunuz sanal tablolardan birinde bu kolonu kullandıysanız, scripti çalıştırdıktan sonra alacağınız uyarı ;

oracllll

ORA-54032 : yeniden adlandırılacak sütun sanal bir sütun ifadesinde kullanılıyor.

Ve eğer nerede kullandım ki ben bunu diye soracak olursanız ise kullanacağız script;

SELECT virtual_column,V.*
FROM all_tab_cols V
WHERE column_name = ‘THESISPLACE’;

bu script ile zaten sizin fiziksel olarak kullandığınız tablo adını görerek diğerlerinden ayırıyor olacaksınız.

Kalan virtual table ları  “DROP TABLE VirTab” şeklindeki scriptler ile siliniz efendim 🙂

Eğer hala vay efendim yeniden adlandırılacak sütun sanal bir sütun ifadesinde kullanılıyor diyorsa bu sefer ;

SELECT COLUMN_NAME, DATA_DEFAULT, HIDDEN_COLUMN
FROM USER_TAB_COLS
WHERE TABLE_NAME LIKE ‘HAKREFTBL%’;

scriptini  kullanarak HİDDEN COLUMN u YES olan satıra odaklanıyoruz   -_-

Eğer öyle bir satır varsa ki hala uyarı alıyorsak var, bu sefer de ;

EXEC DBMS_STATS.DROP_EXTENDED_STATS (ownname=>'<YOUR_DB_USERNAME>’,                                  tabname=>’STA_PR_PARTICIPANT’, extension=>'(“PR_ROLE”, “USER_ID”,                                  “PR_APPROVED”)’);

Scriptini kullanacağız. ownname mssql den alışık olduğumuz dbo ismidir.tabname de tablo adınız,extention dakiler ise HİDDEN COLUMN u YES olan satırın DATA_DEFAULT kolonunda bulunan fonksiyonun içindeki parametrelerdir.

Script çalıştıktan sonra Result üzerinde “anonymous block completed” yazıyor olacak..

SELECT COLUMN_NAME, DATA_DEFAULT, HIDDEN_COLUMN
FROM USER_TAB_COLS
WHERE TABLE_NAME LIKE ‘HAKREFTBL%’;

bu scritp sonucu şimdi bize yasaklı kolonların olmadığına dair sonucu gösterecektir..

Şimdi tekrar kolonumuzun ismini değiştirmek için scriptimizi çalıştırıyoruz ;

res

Başardık, evet çok mutluyuz,çünkü altı üstü kolon adını değiştirmek için 220 sözcük ve 3 resim kullandım 😦

İşte bu yüzden MS SQL 🙂

 

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s