Verwendung von Apostroph und Hochkomma in DB2 for z/OS Programmen
DB2 Installation
Die grundsätzlichen Defaults für die Verwendung von High Level Language Delimiter und SQL Statement Delimiter werden während der DB2 Installation festegelegt und bilden schließlich das DB2 Load Module DSNHDECP.
- String Delimiter:
Option 17 auf Panel DSNTIPB Feld DELIM in DSNHDECP Mögliche Werte:
- Default = Quotation Mark
" = Quotation Mark ' = Apostroph
- SQL String Delimiter
Feld SQLDELI in DSNHDECP Mögliche Werte:
- Default = Quotation Mark
" = Quotation Mark ' = Apostroph
- SQL String Delimiter Distributed Access
Feld DSQLDELI in DSNHDECP Mögliche Werte: ' = Apostroph (Default) " = Quotation Mark
|
Die Auswirkungen bei unterschiedlicher Besetzung der DSNHDECP-Felder ...
|
|
DELIM
|
SQLDELIM
|
Cobol
|
Dynamic SQL
|
Embedded SQL
|
|
DEFAULT
|
DEFAULT
|
"
|
'
|
"
|
|
'
|
'
|
'
|
'
|
'
|
|
"
|
"
|
"
|
"
|
"
|
|
"
|
'
|
"
|
'
|
'
|
|
DB2 Precompiler Einstellungen
|
Precompiler Option
|
Auswirkungen
|
|
APOST
|
Erkennt das Aprostroph ( ' ) als String Delimiter innerhalb der Host Language Statements.
APOST und QUOTE schließen sich gegenseitig aus.
|
|
APOSTSQL
|
Erkennt das Aprostroph ( ' ) als String Delimiter innerhalb der Host Language Statements und das Quotation Mark ( " ) und SQL Escape Character innerhalb von SQL Statements.
APOSTSQL und QUOTESQL schließen sich gegenseitig aus.
|
|
QUOTE
|
Erkennt das Quotation Mark/Doppelhochkomma ( " ) als String Delimiter innerhalb der Host Language Statements.
APOST und QUOTE schließen sich gegenseitig aus.
|
|
QUOTESQL
|
Erkennt das Quotation Mark/Doppelhochkomma ( " ) als String Delimiter innerhalb der Host Language Statements und das Aprostroph ( ' ) und SQL Escape Character innerhalb von SQL Statements.
APOSTSQL und QUOTESQL schließen sich gegenseitig aus.
|
|
Die DB2 Precompiler Angaben sind natürlich unwirksam, wenn der DB2 Coprocessor des Cobol oder PL/I Compilers das Source Programm umwandelt.
|
DB2 Precompiler Default Optionen (teilweise keine abweichenden Options möglich)
|
|
Assembler
|
APOST, APOSTSQL, PERIOD, TWOPASS, MARGINS(1,71,16)
|
|
C und C++
|
APOST, APOSTSQL, PERIOD, ONEPASS, MARGINS(1,72)
|
|
Cobol
|
QUOTE, QUOTESQL, PERIOD, ONEPASS, MARGINS(8,72)
|
|
Fortran
|
APOST, APOSTSQL, PERIOD, ONEPASS, MARGINS(1,72)
|
|
PL/I
|
APOST, APOSTSQL, PERIOD, ONEPASS, MARGINS(2,72)
|
|
Enterprise Cobol Compiler Einstellungen
Aktivierung des DB2 Coprocessors erfolgt mit Angabe der Compiler Option SQL. Aus sicht von DB2 wird das Coprocessor Feature als „SQL statement coprocessor by DB2“ bezeichnet.
Angabe unter ...
//STEP1 EXEC PGM=IGYCRCTL,... // PARM='SQL("option option")'
|
Cobol Compiler Einstellungen
|
|
QUOTE
|
Erkennt das Quotation Mark/Doppelhochkomma ( " ) als String Delimiter
|
|
APOST
|
Erkennt das Aprostroph ( ' ) als String Delimiter
|
|
|