1 SET_QUOTING_RULES Specifies whether strings within double quotation marks are interpreted as string literals or delimited identifiers in the current connection. 2 Environment You can use the SET QUOTING RULES statement: o In interactive SQL o Embedded in host language programs to be precompiled o As part of a procedure in an SQL module o In dynamic SQL as a statement to be dynamically executed 2 Format SET QUOTING RULES --> runtime-options ----> runtime-options --+---> 'string-literal' ------+-----> +---> parameter -------------+ +---> parameter-marker ------+ 2 Arguments 3 MIA Specifies that SQL interprets strings within double quotation marks as delimited identifiers. Delimited identifiers are case sensitive. To comply with the ANSI/ISO standard naming conventions, you should use one of these options. In addition, you must use one of these options to use multischema database naming. 3 parameter Specifies the value of the runtime-options, which must be one of the following: o SQL99 o SQL92 o SQL89 o MIA o SQLV40 3 parameter-marker Specifies the value of the runtime-options, which must be one of the following: o SQL99 o SQL92 o SQL89 o MIA o SQLV40 3 SQL89 Specifies that SQL interprets strings within double quotation marks as delimited identifiers. Delimited identifiers are case sensitive. To comply with the ANSI/ISO standard naming conventions, you should use one of these options. In addition, you must use one of these options to use multischema database naming. 3 SQL92_or_SQL99 Specifies that SQL interprets strings within double quotation marks as delimited identifiers. Delimited identifiers are case sensitive. To comply with the ANSI/ISO standard naming conventions, you should use one of these options. In addition, you must use one of these options to use multischema database naming. 3 SQLV40 Specifies that SQL interprets strings within double quotation marks as string literals. The default is SQLV40. 3 'string-literal' Specifies the value of the runtime-options, which must be one of the following: o SQL99 o SQL92 o SQL89 o MIA o SQLV40 2 Examples Example 1: Setting the quoting rules to SQL99 SQL> SET QUOTING RULES 'SQL99'; SQL> -- SQL> -- SQL interprets double quotation marks as delimited identifiers. SQL> -- SQL> CREATE TABLE "Employees_Table" cont> ("Employee_ID" CHAR(6), cont> "Employee_Name" CHAR (30)); SQL> -- SQL> -- SQL retains the upper- and lowercase letters within the identifier. SQL> -- SQL> SHOW TABLE EMPLOYEES_TABLE No tables found SQL> SHOW TABLE "Employees_Table" Information for table Employees_Table Columns for table Employees_Table: Column Name Data Type Domain ----------- --------- ------ Employee_ID CHAR(6) Employee_Name CHAR(30) . . . Example 2: Setting the quoting rules to SQLV40 SQL> SET QUOTING RULES 'SQLV40'; SQL> -- SQL> -- When you set the quoting rules to SQLV40, SQL interprets double SQL> -- quotation marks as string literals. SQL> -- SQL> CREATE TABLE "Employees_Table" %SQL-I-DEPR_FEATURE, Deprecated Feature: " used instead of ' for string literal CREATE TABLE "Employees_Table" ^ %SQL-W-LOOK_FOR_STT, Syntax error, looking for: %SQL-W-LOOK_FOR_CON, name, FROM, %SQL-F-LOOK_FOR_FIN, found Employees_Table instead SQL> -- SQL> -- Although you can use double quotation marks for string literals, SQL SQL> -- returns a deprecated feature message. SQL> -- SQL> INSERT INTO EMPLOYEES cont> (EMPLOYEE_ID, LAST_NAME, STATUS_CODE) cont> VALUES cont> ("00500", 'Toliver', '1'); %SQL-I-DEPR_FEATURE, Deprecated Feature: " used instead of ' for string literal 1 row inserted SQL> --