Ergebnis 1 bis 3 von 3

Thema: Angabe von Wert vom Typ Box

  1. #1
    _martin_ ist offline Neuer Benutzer
    Registriert seit
    06.07.2009
    Beiträge
    2

    Standard 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:

    Code:
    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

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von _martin_ Beitrag anzeigen
    Hallo,

    DBMS ist PostgreSQL 8.3. Ich versuche in eine Spalte ("lage") mit dem Typ "box" einen Datensatz einzutragen:

    Code:
    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
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    _martin_ ist offline Neuer Benutzer
    Registriert seit
    06.07.2009
    Beiträge
    2

    Standard

    Hallo,

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

    Grüße

Ähnliche Themen

  1. Aktueller Wert der Sequenz
    Von ratio im Forum Allgemeines
    Antworten: 4
    Letzter Beitrag: 17.02.2010, 15:21
  2. Problem Abfrage neuster Wert in SQL
    Von tbkessel im Forum SQL
    Antworten: 4
    Letzter Beitrag: 19.10.2009, 14:23
  3. Wert in PSQL setzen
    Von helios12 im Forum Konfiguration
    Antworten: 5
    Letzter Beitrag: 17.10.2009, 19:55
  4. SQL-Wert in VB Variable eintragen
    Von AndreasBeginner im Forum Programmierung
    Antworten: 2
    Letzter Beitrag: 03.05.2009, 21:49
  5. Max (avg(Wert)) Group by
    Von Kai-Behncke im Forum SQL
    Antworten: 2
    Letzter Beitrag: 15.01.2009, 16:41

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum