Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: Sich selbst Auslagernde Datenbank?

  1. #11
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von treFFnix Beitrag anzeigen
    Das stimmt nicht. Ich weiß aber auch nicht woran es sonst liegt.
    Deine doppelten '' in der Funktion lassen mich vermuten, daß Dir Dollar-Quoting noch nicht bekannt ist. Daran solltest Du mal arbeiten.
    PostgreSQL: Documentation: Manuals: PostgreSQL 8.4: Tips for Developing in PL/pgSQL

    Um zu schauen, was Dein SQL-String *wirklich* enthält, ist es sinnvoll, sich eine TEXT-Variable zu definieren und in dieser das auszuführende SQL abzulegen. Dann kann man mit RAISE NOTICE '%', variable; sich das mal anzeigen lassen. Vereinfacht die Fehlersuche drastisch.

    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

  2. #12
    treFFnix ist offline Benutzer
    Registriert seit
    25.03.2010
    Beiträge
    68

    Standard

    Zitat Zitat von akretschmer Beitrag anzeigen
    Deine doppelten '' in der Funktion lassen mich vermuten, daß Dir Dollar-Quoting noch nicht bekannt ist. Daran solltest Du mal arbeiten.
    PostgreSQL: Documentation: Manuals: PostgreSQL 8.4: Tips for Developing in PL/pgSQL

    Um zu schauen, was Dein SQL-String *wirklich* enthält, ist es sinnvoll, sich eine TEXT-Variable zu definieren und in dieser das auszuführende SQL abzulegen. Dann kann man mit RAISE NOTICE '%', variable; sich das mal anzeigen lassen. Vereinfacht die Fehlersuche drastisch.

    Andreas

    Danke Andreas, ich konnte erst nicht glauben, dass es an den Hochkommas liegt...
    doch du hattest natürlich Recht.
    So muss die Zeile aussehen:

    EXECUTE ''INSERT INTO '' || MonatsTabelle || '' (Id, Key, zzTime) VALUES ('' || New.Id || '','' || New.Key || '','''''' || New.zzTime || '''''')'';

    man muss Variablenwerte, die hochkommas haben müssen, in ein 6-faches Hochkomma packen o.O )
    '''''' || New.zTime || '''''' wird so zu '2010-04-01 13:33:37.123'

    Ich bin der Meinung, dass DU das sofort erkannt hast und mir hättste sagen können. Dann hätte ichs mir aber nicht selbst erarbeitet....
    DANKE ,frohes Ostereiersuchen & schööööönen Urlaub wünsch ich euch allen und besonders den beiden Andreas's !!!

  3. #13
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    493

    Standard

    Zitat Zitat von treFFnix Beitrag anzeigen
    INSERT INTO t_value (Id, Key, zzTime, BatchId, CharacteristicId, Value)
    VALUES (1,257,'2010-04-05 13:39:34.312',4,1,0);

    Ich bin ziemlich sicher, dass er mit der Uhrzeit in der Variable zzTime nicht klar kommt. Aber warum ???
    Es ist doch alles was damit zu tun hat TIMESTAMP... ?

    Weiß jemand Rat?
    Um ein String-Literal als TIMESTAMP kenntlich zu machen musst Du vor den String das Schlüsselwort TIMESTAMP stellen:
    Code:
    INSERT INTO t_value (Id, Key, zzTime, BatchId, CharacteristicId, Value)
    VALUES (1,257, TIMESTAMP '2010-04-05 13:39:34.312', 4,1,0);
    A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

Seite 2 von 2 ErsteErste 12

Stichworte

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