Re: LibreOffice Base als Frontend - Problem mit boolean Feldern

From: Andreas Kretschmer <akretschmer(at)spamfence(dot)net>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: LibreOffice Base als Frontend - Problem mit boolean Feldern
Date: 2015-09-25 17:49:18
Message-ID: 20150925174918.GA30328@tux
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Ulrich Goebel <ml(at)fam-goebel(dot)de> 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
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect. (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly." (unknown)
Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°

In response to

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Ulrich Goebel 2015-09-25 20:06:47 Re: LibreOffice Base als Frontend - Problem mit boolean Feldern
Previous Message Ulrich Goebel 2015-09-25 16:16:44 LibreOffice Base als Frontend - Problem mit boolean Feldern