> -----Original Message----- > From: Hiroshi Inoue [mailto:Inoue@tpf.co.jp] > > But, considering the fact that DEFAULT can be something reaaly > > complex, like > > function that does a lot of things, it may be better to have the > > constraints > > checked at the end of transaction, like > > > > BEGIN; > > ALTER TABLE T1 ADD COLUMN C1 TEXT NOT NULL; > > Isn't 'iNITIALLY DEFERRED' needed ? > ALTER TABLE T1 ADD COLUMN C1 TEXT NOT NULL INITIALLY DEFERRED; > > > UPDATE T1 SET C1='MYDEFAULTVALUE'; > > COMMIT; > > > > It seems more reasonable than standard. > But is it worth breaking SQL standard ? > Seems I was wrong. It's not so good. Current spec to reject NOT NULL/DEFAULT for new column isn't so bad and ADD CONSTRAINT feature is much more important. How about the following ? BEGIN; ALTER TABLE T1 ADD COLUMN C1 TEXT; UPDATE T1 SET C1='MYDEFAULTVALUE'; ALTER TABLE T1 ADD CONSTRAINT CHECK C1 NOT NULL; COMMIT; Regards. Hiroshi Inoue Inoue@tpf.co.jp
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера