Announcement

Collapse
No announcement yet.

Dynamiches SQL in Prozedur - Problem von Sonderzeichen " ' "

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dynamiches SQL in Prozedur - Problem von Sonderzeichen " ' "

    guten morgen,

    ein neues problem.
    ich importiere per sqlloader daten in tabellen.
    iom anschluss bearbeite ich diese daten per stored procedure und transferiere sie in andere tabellen.
    verwende dazu dynamisches pl/sql i.V.m. EXECUTE IMMEDIATE.
    soviel zur ausgangssituation.

    jetzt habe ich in textfeldern bergriffe, die das <'> enthalten <char(39)>.
    baue ich jetzt meine insert-anweisung zusammen, bekomme ich einen COMMA-fehler bei ausführung. behelfe mich jetzt mit einer TRANSLATE-anweisung, in dem ich <'> in <`> umwandle.
    WIE kann ich erreichen, das mir das zeichen chr(39) erhalten bleibt?

  • #2
    Originally posted by tioga63 View Post
    guten morgen,

    ein neues problem.
    ich importiere per sqlloader daten in tabellen.
    iom anschluss bearbeite ich diese daten per stored procedure und transferiere sie in andere tabellen.
    verwende dazu dynamisches pl/sql i.V.m. EXECUTE IMMEDIATE.
    soviel zur ausgangssituation.

    jetzt habe ich in textfeldern bergriffe, die das <'> enthalten <char(39)>.
    baue ich jetzt meine insert-anweisung zusammen, bekomme ich einen COMMA-fehler bei ausführung. behelfe mich jetzt mit einer TRANSLATE-anweisung, in dem ich <'> in <`> umwandle.
    WIE kann ich erreichen, das mir das zeichen chr(39) erhalten bleibt?
    So kannst du ein ['] in eine Spalte schreiben :

    Update Testtabelle set MyField ='Mc''Donald'

    --Ergebnis : Mc'Donald

    Gruss

    Comment


    • #3
      Hallo,

      zwei Möglichkeiten:
      1. hat Ulrich Vaid bereits genannt: <'> innerhalb einer Zeichenkette durch <'><'> ersetzen
      2. Verwendung von "echtem" dynamischen SQL unter Einsatz von Bind-Variablen

      Gruß Falk
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment


      • #4
        oder ( das erste sind 4 x ' und das zweite sind 6 x ' :
        replace( DeinFeld , '''' , '''''' )

        Comment


        • #5
          vielen dank !!
          hilft mir sehr.

          wirklich klasse das forum hier. hoffe ich kann auch mal jemand helfen.

          Comment

          Working...
          X