0
在我正在處理的PostgreSQL數據庫中,一半表有一個特定列,總是命名相同,類型爲varchar(5)。大小變得有點過於限制,我想將其更改爲varchar(10)。在多個表上改變列類型
我特殊情況下的表格數量實際上非常易於手動操作。但我想知道如何用更大的dbs查詢來編寫腳本。通常應該只需幾步即可。
- 確定架構中的所有表,然後(?)按條件篩選是否存在列。
- 爲每個表的ALTER TABLE語句發現
我對如何編寫識別模式中的所有表的查詢一些想法。但我不知道如何過濾它們。如果我沒有過濾它們,我認爲生成的alter table語句會中斷。
如果有人可以分享他們的知識,這將是偉大的。
'select_table_name,column_name from information_schema.columns where table_catalog ='postgres'and table_schema ='public'and column_name ='foo''? – Abelisto
當然,我用相應的列名替換'foo'。但是這個查詢不會爲我返回任何東西。 – vic
好的,用db的名字替換'postgres',現在給我正確的表格。現在讓我們來看看是否可以找出如何基於該語句構建alter table語句... – vic