Conditionally altering tables
От | Colin McGuigan |
---|---|
Тема | Conditionally altering tables |
Дата | |
Msg-id | 41E30AAB.7020406@earthcomber.com обсуждение исходный текст |
Ответы |
Re: Conditionally altering tables
|
Список | pgsql-novice |
Coming from Microsoft SQL Server here... Is there a way to write a script so that it will make required schema changes, only if they haven't already been done? Eg, I have a script that should add a NewField field to MyTable, as so: ALTER TABLE MyTable ADD COLUMN NewField integer NULL This works fine the first time it runs, but if I run this script against the database again, I get a message saying that NewField already exists, and the script errors out. In MSSQL, I could write something like: IF NOT EXISTS (SELECT * FROM sysobjects so INNER JOIN syscolumns sc ON so.id = sc.id WHERE so.Name = 'MyTable' and sc.Name = 'NewField) ALTER TABLE MyTable ADD COLUMN NewField integer NULL And it would be fine. Is there something similar I could do in Postgres without having to write individual stored procedures for each one? --Colin McGuigan
В списке pgsql-novice по дате отправления: