computed column definition mit if abfrage

Snoopy1959

Benutzer
Beiträge
10
Hallo Zusammen,
gerne möchte ich ein Feld Aktiv mit 1 automatisch belegen wenn in einem Feld B der Wert NULL ist.

Wie geht das genau?
If B is NULL Else 1

Kann mir jemand ein Beispiel posten?

Danke fürs Mitdenken.

Gruss
Snoopy
 
Werbung:
Soll das nur während der Abfrage passieren oder muss das tatsächlich in der Tabelle gespeichert werden? Ersteres wäre einfach ein CASE im Select, letzteres würde einen Trigger erforderlich machen.
 
Code:
test=*# create table snoopy (b int, aktiv bool generated always as (case when b is null then true else false end) stored);
CREATE TABLE
test=*#
test=*#
test=*# select * from snoopy ;
 b | aktiv
---+-------
(0 rows)

test=*# insert into snoopy (b) values (1);
INSERT 0 1
test=*# insert into snoopy (b) values (null);
INSERT 0 1
test=*# select * from snoopy ;
 b | aktiv
---+-------
 1 | f
   | t
(2 rows)

test=*#
 
Werbung:
Zurück
Oben