PostgreSQL: Angabe von Wert vom Typ Box in Pl/pgSQL
Jasmin
- datenbank
Hallo,
DBMS ist PostgreSQL 8.3. Ich versuche in eine Spalte ("lage") mit dem Typ "box" (Rechteck) einen Datensatz einzutragen:
INSERT INTO geb(lage) VALUES ( ROW(x1,y1,x2,y2) );
Das ganze passiert in einer PL/pgSQL-Funktion, d.h. x1,y1... sind belegte Integer deren Wert eingesetzt werden soll. Leider bemängelt Postgres der Wert sei vom Typ Row, benötigt werde box. Den kann man z.B. so angeben: '(1,2,3,4)'. Leider benötige ich ja die Werte der Variablen. Auch eine Zeichenverknüpfung a la '(' || x1 funktioniert nicht, denn dann bemängelt der Server, dass der Wert vom Typ String sei. Auch eine Typumwandlung "ROW(x1,y1,x2,y2)::box" kann nicht durchgeführt werden.
Kennt sich hier jemand mit Postgres aus? Die Frage ist leider speziell, aber ich komm einfach nicht auf eine gescheite Lösung.
Grüße
Jasmin