Hallo allerseits,
bin auf ein interessantes Problem gestoßen.
Wie kann man einen String in einem String markieren? Hintergrund:
Ich möchte eine Prozedur testen, der ich ein SQL-Statement als String übergebe, nämlich dieses:
INSERT INTO FLOWERS (NAME , PRICE , AMOUNT) VALUES ('Tulpe' , 5 , 100)
Wenn ich auf RUN im ORACLE SQL DEVELOPER starte, dann erscheint die Eingabeaufforderung, in der ich den Parameter stmt mit Werten füllen kann, siehe ROT. Das Problem sind die LILA Anführungszeichen. Denn RUN denkt, dass bei dem ersten LÍLA-Anführungszeichen bei "Tulpe" der String aufhört und beim zweiten wieder beginnt. Das funktioniert dann natürlich nicht. Habe schon recherchiert, dass man in diesem Fall zwei Anführungszeichen eingeben müsste, aber das funzt auch nicht. Hat jemand eine Idee?
DECLARE
STMT VARCHAR2(200);
BEGIN
STMT := 'INSERT INTO FLOWERS (NAME , PRICE , AMOUNT) VALUES ('Tulpe' , 5 , 100)';
EXECUTE_SQL(
STMT => STMT
);
END;
Danke für Hinweise.
bin auf ein interessantes Problem gestoßen.
Wie kann man einen String in einem String markieren? Hintergrund:
Ich möchte eine Prozedur testen, der ich ein SQL-Statement als String übergebe, nämlich dieses:
INSERT INTO FLOWERS (NAME , PRICE , AMOUNT) VALUES ('Tulpe' , 5 , 100)
Wenn ich auf RUN im ORACLE SQL DEVELOPER starte, dann erscheint die Eingabeaufforderung, in der ich den Parameter stmt mit Werten füllen kann, siehe ROT. Das Problem sind die LILA Anführungszeichen. Denn RUN denkt, dass bei dem ersten LÍLA-Anführungszeichen bei "Tulpe" der String aufhört und beim zweiten wieder beginnt. Das funktioniert dann natürlich nicht. Habe schon recherchiert, dass man in diesem Fall zwei Anführungszeichen eingeben müsste, aber das funzt auch nicht. Hat jemand eine Idee?
DECLARE
STMT VARCHAR2(200);
BEGIN
STMT := 'INSERT INTO FLOWERS (NAME , PRICE , AMOUNT) VALUES ('Tulpe' , 5 , 100)';
EXECUTE_SQL(
STMT => STMT
);
END;
Danke für Hinweise.
Comment