Re^3: PL/SQL: Frage zu Cursor mit Parameter
Servus Tom,
lange nicht mehre geschrieben (und auf ein Bier waren wir auch noch immer nicht ;-).
Zum Thema:
Dynamisches SQL ist nur sehr gezielt einzusetzen (nämlich da,
wo es anders nicht mehr geht) - Begründung dazu liefere ich
bei Interesse gerne nach.
Und die wäre? Ich bin jetzt mal ziemlich gespannt, da ich in
letzter Zeit fast nur noch dynamische Cursor einsetze, um
aufgrund verschiedenster Auswahlkriterien das optimalste
Statement zusammenzubauen.
Ein Großteil meiner Vorbehalte kommen daher, dass es falsch eingesetzt wird, nämlich dann, wenn es ohne auch ginge. Statisches SQL hat den Vorteil, dass
1. Der Library Cache tendenziell weniger zugemüllt wird
2. Hard Parses eher vermieden werden und
3. Dependencies verwaltet werden können
1. und 2. sind natürlich sehr knapp zusammen, aber doch nicht ganz das gleiche. Selbstverständlich kommt man an manchen Stellen nicht um dynamisches SQL herum, aber was mir dabei schon an Code untergekommen ist *würg*.
Lieblingsbeispiel:
my_stmnt VARCHAR2(2000) :=
'SELECT my_col '||
'FROM my_table '||
'WHERE pk_id = '||TO_CHAR(numeric_input_parameter,'09,00');
Das beste daran ist, dass der TO_CHAR zusätzlich auch noch Probleme mit den NLS Einstellungen macht.
Noch Fragen?
Gruß
Martin