DBMS ist PostgreSQL 8.3. Ich versuche in eine Spalte (“lage”) mit dem Typ “box” 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.
Wie kann ich in einer Funktion einen Box-Value erstellen?