Ergebnis 1 bis 3 von 3

Thema: list of interger as paramter für execute

  1. #1
    fuppes ist offline Benutzer
    Registriert seit
    04.06.2008
    Beiträge
    36

    Standard list of interger as paramter für execute

    Hallo,

    ich versuche gerade folgendes zum laufen zu bringen:

    Code:
    del_pom_itself_sql2 = plpy.prepare('''DELETE FROM pom_xml2
                          WHERE pom_id in ($1)''', ['INTEGER'])
    Die frage ich jetzt wie definiere denn jetzt den data type für $1 wenn es sich dabei um eine list von integern handelt? Also integer geht ja mal nicht und record auch nicht.....

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

    Standard

    Zitat Zitat von fuppes Beitrag anzeigen
    Hallo,

    ich versuche gerade folgendes zum laufen zu bringen:

    Code:
    del_pom_itself_sql2 = plpy.prepare('''DELETE FROM pom_xml2
                          WHERE pom_id in ($1)''', ['INTEGER'])
    Die frage ich jetzt wie definiere denn jetzt den data type für $1 wenn es sich dabei um eine list von integern handelt? Also integer geht ja mal nicht und record auch nicht.....
    Ist das in plpyton oder so? Kenn ich nicht. Allgemein, Du willst offensichtlich aus einem Text, der Deine Liste von INTs enthält, ein Statement basteln. Das geht prinzipiell so, daß Du einen kompletten String baust und diesen an EXECUTE verfütterst. Also, als Beispiel, 'select * from foo where id in (' || '1,2,3' || ')', wobei das '1,2,3' hier Deine Liste von Integern ist.

    Falls meine Antwort daneben liegen sollte, dann stelle die Frage bitte präziser.

    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
    fuppes ist offline Benutzer
    Registriert seit
    04.06.2008
    Beiträge
    36

    Standard

    ohje.... ich bin doch nen aff...

    Also so gehts:
    Code:
    del_pom_itself_sql2 = 'DELETE FROM pom_xml2 WHERE pom_id in (%s)'
    ...
    plpy.execute(del_pom_itself_sql2%str(addition_tree_list)[1:-1])
    Ja genau, das is Python. Sorry für die unnötige frage....

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