Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: PostgreSQL: ENUM automatisch in Grosschrift wandeln

3 views
Skip to first unread message

Thomas 'PointedEars' Lahn

unread,
Apr 11, 2016, 3:25:24 PM4/11/16
to
Du hast Dich in der Gruppe vertan und bisher hat es niemand gemerkt:

,-<news:de-newusers-infos/de-newsgruppen/20160...@msgid.krell.zikzak.de>
|
| […]
| de.comp.datenbanken.mysql
| [Relationale Datenbanken mit MySQL.]
| Diese Gruppe dient der Diskussion aller das Relationale
| Datenbank-Management-System MySQL betreffenden Fragen. Dabei
| kann auch seine Nutzung zusammen mit anderen Programmen und
| Systemen diskutiert werden, sofern diese nicht von anderen
| Newsgruppen abgedeckt wird.

Ergänzend: auch MySQL-Forks wie MariaDB sind dort on-topic.

Da es de.comp.datenbanken.postgresql (noch) nicht gibt, bleibt in de.ALL
für PostgreSQL nur <news:de.comp.datenbanken.misc>. X-Post & F'up2.


Volker Englisch wrote:

> Eine Datenbank namens test hat (ausschnittsweise) folgende Struktur:
>
> person | pkz | not null
> datum | date | not null
> gewicht | numeric(5,1) |

Das wäre DECIMAL(5,1) in MySQL/MariaDB.

> Der Typ "pkz" wurde so erstellt: CREATE TYPE pkz AS ENUM('A','B');

Und das ist in MySQL/MariaDB bisher nicht möglich.

> Dazu eine Funktion:
>
> CREATE FUNCTION person_gross() RETURNS TRIGGER AS $person_gross$
> BEGIN
> NEW.person = upper(NEW.person);
> RETURN NEW;
> END;
> $person_gross$
> LANGUAGE plpgsql;
>
> ... und ein Trigger:
>
> CREATE TRIGGER person_gross BEFORE INSERT OR UPDATE ON test FOR EACH
> ROW EXECUTE PROCEDURE person_gross();
>
> Ein INSERT INTO test(person,datum) VALUES('a','2016-04-11'); ergibt:
>
> FEHLER: ungültiger Eingabewert für Enum pkz: »v«
> ZEILE 1: insert into test(person,datum) values('a','2016-04-11');
> ^
>
> Ich hatte eigentlich erwartet, dass die Funktion erst den Wert in einen
> Großbuchstaben wandelt. Tut aber wohl nicht.
>
> Sieht jemand auf Anhieb meinen Denkfehler?

Ja.

> V*

--
PointedEars
Zend Certified PHP Engineer
<http://www.zend.com/en/yellow-pages/ZEND024953> | Twitter: @PointedEars2
Please do not cc me. / Bitte keine Kopien per E-Mail.
0 new messages