Angabe von Wert vom Typ Box

Hallo,

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?

Grüße
Jasmin

Jasmin oder Martin?

Egal.

Ich vermute mal, Du solltest Dich mit diesen Funktionen beschäftigen: PostgreSQL: Documentation: Manuals: PostgreSQL 8.4: Geometric Functions and Operators .

Da gibt es auch einige Funktionen, die einen Box liefern.

Andreas

Hallo,

danke das war der richtige Tipp. So funktionierts:
box(point(x1,y1),point(x2,y2))

Grüße