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.