Announcement

Collapse
No announcement yet.

Ersatzdarstellungen für einfache Anführungszeichen

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

  • Ersatzdarstellungen für einfache Anführungszeichen

    Hallo,

    ich möchte eine Insert Anweisung schreiben.
    Insert into SQL(NAME,WERT) values (HALLO','SELECT b.* FROM HALLO a WHERE b.USER = '" + getIrgendwas() + "' ORDER BY SORT');

    jedoch meckert Oracle wegen der einfachen Anführungszeichen.
    Gibt es dafür eine Ersatzdarstellung?

    Gruß
    Rock86

  • #2
    select 'select * from xx where '''||sysdate||'''=x' from dual;

    'SELECT*FROMXXWHERE'''||SYSDATE||''
    select * from xx where '06.10.10'=x

    Das sind 3 einfache Anführungszeichen.

    Abgesehen davon, wird der Select-Befehl, den du abspeicherst nicht funktionieren, wenn du mal mit a und mal mit b arbeitest.

    <edit>
    Ab 10g gibt's übrigens auch so etwas:

    > select q'!das ist's!' from dual;

    Q'!DASIST
    ---------
    das ist's
    </edit>

    Gruß

    Ralf
    Zuletzt editiert von ralfb; 06.10.2010, 13:56.

    Comment


    • #3
      Konkrete Werte haben in Queries nichts zu suchen. Hierfür sollte man auf jeden Fall parametrisierte Abfragen verwenden. Ansonsten wirst du über kurz oder lang in das Sicherheitsproblem von SQL-Injection laufen

      Comment

      Working...
      X