Re: LibreOffice Base als Frontend - Problem mit boolean Feldern

Ulrich Goebel <[email protected]> Fri, 25 Sep 2015 22:06:47 +0200
Newsgroups gmane.comp.db.postgresql.german
Message-ID <[email protected]>
Danke, so geht's!


Am 25.09.2015 um 19:49 schrieb Andreas Kretschmer:
> Ulrich Goebel <[email protected]> wrote:
>
>> Kann ich in der DB dafür sorgen, dass der Wert "unknown" in "FALSE"
>> verändert wird?
>>
>> Meine Idee: einen Trigger definieren. Aber wie?
>
> So?
>
> test=# create table bla(id int, b bool);
> CREATE TABLE
> Time: 0,925 ms
> test=*# create or replace function set_false() returns trigger as
> $$begin new.b := false; return new; end;$$language plpgsql;
> CREATE FUNCTION
> Time: 0,413 ms
> test=*# create trigger trg1 before insert or update on bla for each row
> when (new.b is null) execute procedure set_false();
> CREATE TRIGGER
> Time: 0,402 ms
> test=*# insert into bla values (1, true);
> INSERT 0 1
> Time: 0,345 ms
> test=*# insert into bla values (2, null);
> INSERT 0 1
> Time: 0,287 ms
> test=*# insert into bla values (3, false);
> INSERT 0 1
> Time: 0,225 ms
> test=*# select * from bla;
>   id | b
> ----+---
>    1 | t
>    2 | f
>    3 | f
> (3 rows)
>
>
>
>
>
> Andreas
>

-- 
Ulrich Goebel
Paracelsusstr. 120, 53177 Bonn


-- 
Sent via pgsql-de-allgemein mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein