Article View: pl.comp.lang.delphi.bazy-danych
Article #82417Re: Firebird - dodawanie pola not null z wartością domyślną
From: wloochacz
Date: Wed, 26 Nov 2014 15:36
Date: Wed, 26 Nov 2014 15:36
41 lines
2947 bytes
2947 bytes
W dniu 2014-11-26 16:03, bunias80@gmail.com pisze: > W dniu środa, 26 listopada 2014 15:23:47 UTC+1 użytkownik Tomek D napisał: > >> "default" nie jest rozwiązaniem na wypełnienie nowo dodanego pola zadaną >> wartościa, ale dla zapewnienia wartości jeśli nie zostanie ona jawnie >> wyspecyfikowania w poleceniu INSERT. I UPDATE takoż, a dokładnie - jeśli pole z wartością domyślną zostanie pominięte przy operacjach DML, to zostanie tam wsadzona wartość domyślna. > fragment z dokumentacji > " alter table Adventures add id int default -1 not null > > Default values are normally not applied when adding fields to existing rows, but with NOT NULL fields they are. > > " > więc chyba jednak jest I tak powinno to zadziałać; a więc, jeśli robisz ADD FIELD NOT NULL with DEFAULT, to przy dodaniu tego nowego pola do tabeli jego wartość powinna zostać automatycznie ustalona tym, co zostało określone jako wartość domyślna. Ale to zadziała tylko i wyłącznie wtedy, kiedy od razu nadasz ograniczenie NOT NULL. A jeśli zrobiłeś tak: 1) Dodaj nowe pole z wartością domyślną 2) Druga operacja - nadanie ograniczenia not null To efekt będzie taki, jak opisujesz. >> Bardzo często przy większych zmianach w bazie konieczne jest rozbicie na >> kilka transakcji, więc mechanizm i tak jest niezbędny. > > Tutaj tematem nie jest jak zrobić aktualizację tylko czy ktoś stosuje samo add not null default.... i mu to działa czy może to jednak babol FB W MSSQL działa ;-) >> Być może dodawałeś pole do pustej tabeli to problemu nie było. > Nie....nawet kilkadziesiąt tyś. rekordów. > -- wloochacz
Technical Details
Message-ID:
<5475f386$0$2154$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.supermedia.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<8e2dbff4-cc02-4704-8a4a-e59aeb964efb@googlegroups.com> <m548hu$pqb$1@node1.news.atman.pl> <769ff04d-b5f3-4038-bb92-f4962a7a71d1@googlegroups.com> <m54npi$br9$1@node1.news.atman.pl> <fa3a5a56-7287-405e-9e85-889150da7848@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.supermedia.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Date: Wed, 26 Nov 2014 16:36:21 +0100 From: wloochacz <wloochacz@no.spam.gmail.com> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 Newsgroups: pl.comp.lang.delphi.bazy-danych Subject: Re: Firebird - dodawanie pola not null z wartością domyślną References: <8e2dbff4-cc02-4704-8a4a-e59aeb964efb@googlegroups.com> <m548hu$pqb$1@node1.news.atman.pl> <769ff04d-b5f3-4038-bb92-f4962a7a71d1@googlegroups.com> <m54npi$br9$1@node1.news.atman.pl> <fa3a5a56-7287-405e-9e85-889150da7848@googlegroups.com> In-Reply-To: <fa3a5a56-7287-405e-9e85-889150da7848@googlegroups.com> Lines: 41 Message-ID: <5475f386$0$2154$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 83.11.166.5 X-Trace: 1417016198 unt-rea-b-01.news.neostrada.pl 2154 83.11.166.5:59206 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit