Number | Feature ID | Feature Name | Feature Description |
---|---|---|---|
1 | B011 | Embedded Ada1 | - Subclause 20.3, "<embedded SQL Ada program>" |
2 | B012 | Embedded C1 | - Subclause 20.4, "<embedded SQL C program>" |
3 | B013 | Embedded COBOL1 | - Subclause 20.5, "<embedded SQL COBOL program>" |
4 | B014 | Embedded Fortran1 | - Subclause 20.6, "<embedded SQL Fortran program>" |
5 | B015 | Embedded MUMPS1 | - Subclause 20.7, "<embedded SQL MUMPS program>" |
6 | B016 | Embedded Pascal1 | - Subclause 20.8, "<embedded SQL Pascal program>" |
7 | B017 | Embedded PL/I1 | - Subclause 20.9, "<embedded SQL PL/I program>" |
1 A conforming SQL-implementation is required (by Clause 8, "Conformance", in ISO/IEC 9075-1) to support at least one embedded language or to support the SQL-client module binding for at least one host language. | |||
8 | E011 | Numeric data types | - Subclause 6.1, "<data type>", <numeric type>, including numeric expressions, numeric literals, numeric comparisons, and numeric assignments |
9 | E011-01 | INTEGER and SMALLINT data types (including all spellings) | - Subclause 5.2, "<token> and <separator>": The <reserved word>s INT, INTEGER, and SMALLINT |
- Subclause 5.3, "<literal>": [<sign>] <unsigned integer> | |||
- Subclause 6.1, "<data type>": The INTEGER and SMALLINT <exact numeric type>s | |||
- Subclause 13.6, "Data type correspondences": Type correspondences for INTEGER and SMALLINT for all supported languages | |||
10 | E011-02 | REAL, DOUBLE PRECISON, and FLOAT data types | - Subclause 5.2, "<token> and <separator>": The <reserved word>s REAL, DOUBLE, FLOAT, and PRECISION |
- Subclause 5.3, "<literal>": [<sign>] <approximate numeric literal> | |||
- Subclause 6.1, "<data type>": <approximate numeric type> | |||
- Subclause 13.6, "Data type correspondences": Type correspondences for REAL, DOUBLE PRECISION, and FLOAT for all supported languages | |||
11 | E011-03 | DECIMAL and NUMERIC data types | - Subclause 5.2, "<token> and <separator>": The <reserved word>s DEC, DECIMAL, and NUMERIC |
- Subclause 5.3, "<literal>": [<sign>] <exact numeric literal> | |||
- Subclause 6.1, "<data type>": The DECIMAL and NUMERIC <exact numeric type>s | |||
- Subclause 13.6, "Data type correspondences": Type correspondences for DECIMAL and NUMERIC for all supported languages | |||
12 | E011-04 | Arithmetic operators | - Subclause 6.26, "<numeric value expression>": When the <numeric primary> is a <value expression primary> |
13 | E011-05 | Numeric comparison | - Subclause 8.2, "<comparison predicate>": For the numeric data types, without support for <table subquery> and without support for Feature F131, "Grouped operations" |
14 | E011-06 | Implicit casting among the numeric data types | - Subclause 8.2, "<comparison predicate>": Values of any of the numeric data types can be compared to each other; such values are compared with respect to their algebraic values |
- Subclause 9.1, "Retrieval assignment", and Subclause 9.2, "Store assignment": Values of one numeric type can be assigned to another numeric type, subject to rounding, truncation, and out of range conditions | |||
15 | E021 | Character data types | - Subclause 6.1, "<data type>": <character string type>, including character expressions, character literals, character comparisons, character assignments, and other operations on character data |
16 | E021-01 | CHARACTER data type (including all its spellings) | - Subclause 5.2, "<token> and <separator>": The <reserved word>s CHAR and CHARACTER |
- Subclause 6.1, "<data type>": The CHARACTER <character string type> | |||
- Subclause 6.28, "<string value expression>": For values of type CHARACTER | |||
- Subclause 13.6, "Data type correspondences": Type correspondences for CHARACTER for all supported languages | |||
17 | E021-02 | CHARACTER VARYING data type (including all its spellings) | - Subclause 5.2, "<token> and <separator>": The <reserved word>s VARCHAR and VARYING |
- Subclause 6.1, "<data type>": The CHARACTER VARYING <character string type> | |||
- Subclause 6.28, "<string value expression>": For values of type CHARACTER VARYING | |||
- Subclause 13.6, "Data type correspondences": Type correspondences for CHARACTER VARYING for all supported languages | |||
18 | E021-03 | Character literals | - Subclause 5.3, "<literal>": <quote> [ <character representation>... ] <quote> |
19 | E021-04 | CHARACTER_LENGTH function | - Subclause 6.27, "<numeric value function>": The <char length expression> |
20 | E021-05 | OCTET_LENGTH function | - Subclause 6.27, "<numeric value function>": The <octet length expression> |
21 | E021-06 | SUBSTRING function | - Subclause 6.29, "<string value function>": The <character substring function> |
22 | E021-07 | Character concatenation | - Subclause 6.28, "<string value expression>": The <concatenation> expression |
23 | E021-08 | UPPER and LOWER functions | - Subclause 6.29, "<string value function>": The <fold> function |
24 | E021-09 | TRIM function | - Subclause 6.29, "<string value function>": The <trim function> |
25 | E021-10 | Implicit casting among the character data types | - Subclause 8.2, "<comparison predicate>": Values of either the CHARACTER or CHARACTER VARYING data types can be compared to each other |
- Subclause 9.1, "Retrieval assignment", and Subclause 9.2, "Store assignment": Values of either the CHARACTER or CHARACTER VARYING data type can be assigned to the other type, subject to truncation conditions | |||
26 | E021-11 | POSITION function | - Subclause 6.27, "<numeric value function>": The <position expression> |
27 | E021-12 | Character comparison | - Subclause 8.2, "<comparison predicate>": For the CHARACTER and CHARACTER VARYING data types, without support for <table subquery> and without support for Feature F131, "Grouped operations" |
28 | E031 | Identifiers | - Subclause 5.2, "<token> and <separator>": <regular identifier> and <delimited identifier> |
29 | E031-01 | Delimited identifiers | - Subclause 5.2, "<token> and <separator>": <delimited identifier> |
30 | E031-02 | Lower case identifiers | - Subclause 5.2, "<token> and <separator>": An alphabetic character in a <regular identifier> can be either lower case or upper case (meaning that non-delimited identifiers need not comprise only upper case letters) |
31 | E031-03 | Trailing underscore | - Subclause 5.2, "<token> and <separator>": The list <identifier part> in a <regular identifier> can be an <underscore> |
32 | E051 | Basic query specification | - Subclause 7.12, "<query specification>": When <table reference> is a <table or query name> that is a <table name>, without the support of Feature F131, "Grouped operations" |
33 | E051-01 | SELECT DISTINCT | - Subclause 7.12, "<query specification>": With a <set quantifier> of DISTINCT, but without subfeatures E051-02 through E051-09 |
34 | E051-02 | GROUP BY clause | - Subclause 7.4, "<table expression>": <group by clause>, but without subfeatures E051-03 through E051-09 |
- Subclause 7.9, "<group by clause>": With the restrictions that the <group by clause> must contain all non-aggregated columns in the <select list> and that any column in the <group by clause> must also appear in the <select list> | |||
35 | E051-04 | GROUP BY can contain columns not in <select list> | - Subclause 7.9, "<group by clause>": Without the restriction that any column in the <group by clause> must also appear in the <select list> |
36 | E051-05 | Select list items can be renamed | - Subclause 7.12, "<query specification>": <as clause> |
37 | E051-06 | HAVING clause | - Subclause 7.4, "<table expression>": <having clause> |
- Subclause 7.10, "<having clause>" | |||
38 | E051-07 | Qualified * in select list | - Subclause 7.12, "<query specification>": <qualified asterisk> |
39 | E051-08 | Correlation names in the FROM clause | - Subclause 7.6, "<table reference>": [ AS ] <correlation name> |
40 | E051-09 | Rename columns in the FROM clause | - Subclause 7.6, "<table reference>": [ AS ] <correlation name> [ <left paren> <derived column list> <right paren> ] |
41 | E061 | Basic predicates and search conditions | - Subclause 8.19, "<search condition>", and Subclause 8.1, "<predicate>" |
42 | E061-01 | Comparison predicate | - Subclause 8.2, "<comparison predicate>": For supported data types, without support for <table subquery> |
43 | E061-02 | BETWEEN predicate | - Subclause 8.3, "<between predicate>" |
44 | E061-03 | IN predicate with list of values | - Subclause 8.4, "<in predicate>": Without support for <table subquery> |
45 | E061-04 | LIKE predicate | - Subclause 8.5, "<like predicate>": Without [ ESCAPE <escape character> ] |
46 | E061-05 | LIKE predicate: ESCAPE clause | - Subclause 8.5, "<like predicate>": With [ ESCAPE <escape character> ] |
47 | E061-06 | NULL predicate | - Subclause 8.7, "<null predicate>": Without Feature F481, "Expanded NULL predicate" |
48 | E061-07 | Quantified comparison predicate | - Subclause 8.8, "<quantified comparison predicate>": Without support for <table subquery> |
49 | E061-08 | EXISTS predicate | - Subclause 8.9, "<exists predicate>" |
50 | E061-09 | Subqueries in comparison predicate | - Subclause 8.2, "<comparison predicate>": For supported data types, with support for <table subquery> |
51 | E061-11 | Subqueries in IN predicate | - Subclause 8.4, "<in predicate>": With support for <table subquery> |
52 | E061-12 | Subqueries in quantified comparison predicate | - Subclause 8.8, "<quantified comparison predicate>": With support for <table subquery> |
53 | E061-13 | Correlated subqueries | - Subclause 8.1, "<predicate>": When a <correlation name> can be used in a <table subquery> as a correlated reference to a column in the outer query |
54 | E061-14 | Search condition | - Subclause 8.19, "<search condition>" |
55 | E071 | Basic query expressions | - Subclause 7.13, "<query expression>" |
56 | E071-01 | UNION DISTINCT table operator | - Subclause 7.13, "<query expression>": With support for UNION [ DISTINCT ] |
57 | E071-02 | UNION ALL table operator | - Subclause 7.13, "<query expression>": With support for UNION ALL |
58 | E071-03 | EXCEPT DISTINCT table operator | - Subclause 7.13, "<query expression>": With support for EXCEPT [ DISTINCT ] |
59 | E071-05 | Columns combined via table operators need not have exactly the same data type. | - Subclause 7.13, "<query expression>": Columns combined via UNION and EXCEPT need not have exactly the same data type |
60 | E071-06 | Table operators in subqueries | - Subclause 7.13, "<query expression>": <table subquery>s can specify UNION and EXCEPT |
61 | E081 | Basic Privileges | - Subclause 12.3, "<privileges>" |
62 | E081-01 | SELECT privilege | - Subclause 12.3, "<privileges>": With <action> of SELECT |
63 | E081-02 | DELETE privilege | - Subclause 12.3, "<privileges>": With <action> of DELETE |
64 | E081-03 | INSERT privilege at the table level | - Subclause 12.3, "<privileges>": With <action> of INSERT without <privilege column list> |
65 | E081-04 | UPDATE privilege at the table level | - Subclause 12.3, "<privileges>": With <action> of UPDATE without <privilege column list> |
66 | E081-05 | UPDATE privilege at the column level | - Subclause 12.3, "<privileges>": With <action> of UPDATE <left paren> <privilege column list> <right paren> |
67 | E081-06 | REFERENCES privilege at the table level | - Subclause 12.3, "<privileges>": with <action> of REFERENCES without <privilege column list> |
68 | E081-07 | REFERENCES privilege at the column level | - Subclause 12.3, "<privileges>": With <action> of REFERENCES <left paren> <privilege column list> <right paren> |
69 | E081-08 | WITH GRANT OPTION | - Subclause 12.2, "<grant privilege statement>": WITH GRANT OPTION |
70 | E091 | Set functions | - Subclause 6.9, "<set function specification>" |
71 | E091-01 | AVG | - Subclause 6.9, "<set function specification>": With <computational operation> of AVG |
72 | E091-02 | COUNT | - Subclause 6.9, "<set function specification>": With <computational operation> of COUNT |
73 | E091-03 | MAX | - Subclause 6.9, "<set function specification>": With <computational operation> of MAX |
74 | E091-04 | MIN | - Subclause 6.9, "<set function specification>": With <computational operation> of MIN |
75 | E091-05 | SUM | - Subclause 6.9, "<set function specification>": With <computational operation> of SUM |
76 | E091-06 | ALL quantifier | - Subclause 6.9, "<set function specification>": With <set quantifier> of ALL |
77 | E091-07 | DISTINCT quantifier | - Subclause 6.9, "<set function specification>": With <set quantifier> of DISTINCT |
78 | E101 | Basic data manipulation | - Clause 14, "Data manipulation": <insert statement>, <delete statement: searched>, and <update statement: searched> |
79 | E101-01 | INSERT statement | - Subclause 14.8, "<insert statement>": When a <contextually typed table value constructor> can consist of no more than a single <contextually typed row value expression> |
80 | E101-03 | Searched UPDATE statement | - Subclause 14.11, "<update statement: searched>": But without support either of Feature E153, "Updatable tables with subqueries", or Feature F221, "Explicit defaults" |
81 | E101-04 | Searched DELETE statement | - Subclause 14.7, "<delete statement: searched>" |
82 | E111 | Single row SELECT statement | - Subclause 14.5, "<select statement: single row>": Without support of Feature F131, "Grouped operations" |
83 | E121 | Basic cursor support | - Clause 14, "Data manipulation": <declare cursor>, <open statement>, <fetch statement>, <close statement>, <delete statement: positioned>, and <update statement: positioned> |
84 | E121-01 | DECLARE CURSOR | - Subclause 14.1, "<declare cursor>": When each <value expression> in the <sort key> must be a <column reference> and that <column reference> must also be in the <select list>, and <cursor holdability> is not specified |
85 | E121-02 | ORDER BY columns need not be in select list | - Subclause 14.1, "<declare cursor>": Extend subfeature E121-01 so that <column reference> need not also be in the <select list> |
86 | E121-03 | Value expressions in ORDER BY clause | - Subclause 14.1, "<declare cursor>": Extend subfeature E121-01 so that the <value expression> in the <sort key> need not be a <column reference> |
87 | E121-04 | OPEN statement | - Subclause 14.2, "<open statement>" |
88 | E121-06 | Positioned UPDATE statement | - Subclause 14.10, "<update statement: positioned>": Without support of either Feature E153, "Updateable tables with subqueries" or Feature F221, "Explicit defaults" |
89 | E121-07 | Positioned DELETE statement | - Subclause 14.6, "<delete statement: positioned>" |
90 | E121-08 | CLOSE statement | - Subclause 14.4, "<close statement>" |
91 | E121-10 | FETCH statement: implicit NEXT | - Subclause 14.3, "<fetch statement>" |
92 | E121-17 | WITH HOLD cursors | - Subclause 14.1, "<declare cursor>": Where the <value expression> in the <sort key> need not be a <column reference> and need not be in the <select list>, and <cursor holdability> may be specified |
93 | E131 | Null value support (nulls in lieu of values) | - Subclause 4.14, "Columns, fields, and attributes": Nullability characteristic |
- Subclause 6.5, "<contextually typed value specification>": <null specification> | |||
94 | E141 | Basic integrity constraints | - Subclause 11.6, "<table constraint definition>": As specified by the subfeatures of this feature in this table |
95 | E141-01 | NOT NULL constraints | - Subclause 11.4, "<column definition>": With <column constraint> of NOT NULL |
96 | E141-02 | UNIQUE constraints of NOT NULL columns | - Subclause 11.4, "<column definition>": With <unique specification> of UNIQUE for columns specified as NOT NULL |
- Subclause 11.7, "<unique constraint definition>": With <unique specification> of UNIQUE | |||
97 | E141-03 | PRIMARY KEY constraints | - Subclause 11.4, "<column definition>": With <unique specification> of PRIMARY KEY for columns specified as NOT NULL |
- Subclause 11.7, "<unique constraint definition>": With <unique specification> of PRIMARY KEY | |||
98 | E141-04 | Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action. | - Subclause 11.4, "<column definition>": With <column constraint> of <references specification> |
- Subclause 11.8, "<referential constraint definition>": Where the columns in the <column name list>, if specified, must be in the same order as the names in the <unique column list> of the applicable <unique constraint definition> and the <data type>s of the matching columns must be the same | |||
99 | E141-06 | CHECK constraints | - Subclause 11.4, "<column definition>": With <column constraint> of <check constraint definition> |
- Subclause 11.9, "<check constraint definition>" | |||
100 | E141-07 | Column defaults | - Subclause 11.4, "<column definition>": With <default clause> |
101 | E141-08 | NOT NULL inferred on PRIMARY KEY | - Subclause 11.4, "<column definition>", and Subclause 11.7, "<unique constraint definition>": Remove the restriction in subfeatures E141-02 and E141-03 that NOT NULL be specified along with every PRIMARY KEY and UNIQUE constraint |
- Subclause 11.4, "<column definition>": NOT NULL is implicit on PRIMARY KEY constraints | |||
102 | E141-10 | Names in a foreign key can be specified in any order | - Subclause 11.4, "<column definition>", and Subclause 11.8, "<referential constraint definition>": Extend subfeature E141-04 so that the columns in the <column name list>, if specified, need not be in the same order as the names in the <unique column list> of the applicable <unique constraint definition> |
103 | E141-11 | Foreign key"s data types need not be the same as the primary key"s | - Subclause 11.4, "<column definition>", and Subclause 11.8, "<referential constraint definition>": Extend subfeature E141-04 so that the data types of matching columns need not be the same. |
104 | E151 | Transaction support | - Clause 16, "Transaction management": <commit statement> and <rollback statement> |
105 | E151-01 | COMMIT statement | - Subclause 16.6, "<commit statement>" |
106 | E151-02 | ROLLBACK statement | - Subclause 16.7, "<rollback statement>" |
107 | E152 | Basic SET TRANSACTION statement | - Subclause 16.2, "<set transaction statement>" |
108 | E152-01 | SET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE clause | - Subclause 16.2, "<set transaction statement>": With <transaction mode> of ISOLATION LEVEL SERIALIZABLE clause |
109 | E152-02 | SET TRANSACTION statement: READ ONLY and READ WRITE clauses | - Subclause 16.2, "<set transaction statement>": with <transaction access mode> of READ ONLY or READ WRITE |
110 | E153 | Updatable queries with subqueries | - Subclause 7.13, "<query expression>": A <query expression> is updatable even though its <where clause> contains a <subquery> |
111 | E161 | SQL comments using leading double minus | - Subclause 5.2, "<token> and <separator>": <simple comment> |
112 | E171 | SQLSTATE support | - Subclause 23.1, "SQLSTATE" |
113 | E182 | Module language | - Clause 13, "SQL-client modules" (NOTE 450 - An SQL-implementation is required to supply at least one binding to a standard host language using either module language, embedded SQL, or both.) |
114 | F031 | Basic schema manipulation | - Clause 11, "Schema definition and manipulation": Selected facilities as indicated by the subfeatures of this Feature |
115 | F031-01 | CREATE TABLE statement to create persistent base tables | - Subclause 11.3, "<table definition>": Not in the context of a <schema definition> |
116 | F031-02 | CREATE VIEW statement | - Subclause 11.22, "<view definition>": Not in the context of a <schema definition>, and without support of Feature F081, "UNION and EXCEPT in views" |
117 | F031-03 | GRANT statement | - Subclause 12.1, "<grant statement>": Not in the context of a <schema definition> |
118 | F031-04 | ALTER TABLE statement: ADD COLUMN clause | - Subclause 11.10, "<alter table statement>": The <add column definition> clause |
- Subclause 11.11, "<add column definition>" | |||
119 | F031-13 | DROP TABLE statement: RESTRICT clause | - Subclause 11.21, "<drop table statement>": With a <drop behavior> of RESTRICT |
120 | F031-16 | DROP VIEW statement: RESTRICT clause | - Subclause 11.23, "<drop view statement>": With a <drop behavior> of RESTRICT |
121 | F031-19 | REVOKE statement: RESTRICT clause | - Subclause 12.7, "<revoke statement>": With a <drop behavior> of RESTRICT, only where the use of this statement can be restricted to the owner of the table being dropped |
122 | F041 | Basic joined table | - Subclause 7.7, "<joined table>" |
123 | F041-01 | Inner join (but not necessarily the INNER keyword) | - Subclause 7.6, "<table reference>": The <joined table> clause, but without support for subfeatures F041-02 through F041-08 |
124 | F041-02 | INNER keyword | - Subclause 7.7, "<joined table>": <join type> of INNER |
125 | F041-03 | LEFT OUTER JOIN | - Subclause 7.7, "<joined table>": <outer join type> of LEFT |
126 | F041-04 | RIGHT OUTER JOIN | - Subclause 7.7, "<joined table>": <outer join type> of RIGHT |
127 | F041-05 | Outer joins can be nested | - Subclause 7.7, "<joined table>": Subfeature F041-1 extended so that a <table reference> within the <joined table> can itself be a <joined table> |
128 | F041-07 | The inner table in a left or right outer join can also be used in an inner join | - Subclause 7.7, "<joined table>": Subfeature F041-1 extended so that a <table name> within a nested <joined table> can be the same as a <table name> in an outer <joined table> |
129 | F041-08 | All comparison operators are supported (rather than just =) | - Subclause 7.7, "<joined table>": Subfeature F041-1 extended so that the <join condition> is not limited to a <comparison predicate> with a <comp op> of <equals operator> |
130 | F051 | Basic date and time | - Subclause 6.1, "<data type>": <datetime type> including datetime literals, datetime comparisons, and datetime conversions |
131 | F051-01 | DATE data type (including support of DATE literal) | - Subclause 5.3, "<literal>": The <date literal> form of <datetime literal> |
- Subclause 6.1, "<data type>": The DATE <datetime type> | |||
- Subclause 6.30, "<datetime value expression>": For values of type DATE 132 F051-02 TIME data type (including support of TIME literal) with fractional seconds precision of at least 0. | |||
- Subclause 5.3, "<literal>": The <time literal> form of <datetime literal>, where the value of <unquoted time string> is simply <time value> that does not include the optional <time zone interval> | |||
- Subclause 6.1, "<data type>": The TIME <datetime type> without the <with or without timezone> clause | |||
- Subclause 6.30, "<datetime value expression>": For values of type TIME 133 F051-03 TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6. | |||
- Subclause 5.3, "<literal>": The <timestamp literal> form of <datetime literal>, where the value of <unquoted timestamp string> is simply <time value> that does not include the optional <time zone interval> | |||
- Subclause 6.1, "<data type>": The TIMESTAMP <datetime type> without the <with or without timezone> clause | |||
- Subclause 6.30, "<datetime value expression>": For values of type TIMESTAMP | |||
134 | F051-04 | Comparison predicate on DATE, TIME, and TIMESTAMP data types | - Subclause 8.2, "<comparison predicate>": For comparison between values of the following types: DATE and DATE, TIME and TIME, TIMESTAMP and TIMESTAMP, DATE and TIMESTAMP, and TIME and TIMESTAMP |
135 | F051-05 | Explicit CAST between datetime types and character types | - Subclause 6.12, "<cast specification>": If support for Feature F201, "CAST function" is available, then CASTing between the following types: from character string to DATE, TIME, and TIMESTAMP; from DATE to DATE, TIMESTAMP, and character string; from TIME to TIME, TIMESTAMP, and character string; from TIMESTAMP to DATE, TIME, TIMESTAMP, and character string |
136 | F051-06 | CURRENT_DATE | - Subclause 6.31, "<datetime value function>": The <current date value function> |
- Subclause 6.30, "<datetime value expression>": When the value is a <current date value function> | |||
137 | F051-07 | LOCALTIME | - Subclause 6.31, "<datetime value function>": The <current local time value function> |
- Subclause 6.30, "<datetime value expression>": When the value is a <current local time value function> | |||
- Subclause 11.5, "<default clause>": LOCALTIME option of <datetime value function> | |||
138 | F051-08 | LOCALTIMESTAMP | - Subclause 6.31, "<datetime value function>": The <current local timestamp value function> |
- Subclause 6.30, "<datetime value expression>": When the value is a <current local timestamp value function> | |||
- Subclause 11.5, "<default clause>": LOCALTIMESTAMP option of <datetime value function> | |||
139 | F081 | UNION and EXCEPT in views | - Subclause 11.22, "<view definition>": A <query expression> in a <view definition> may specify UNION DISTINCT, UNION ALL, EXCEPT, and/or EXCEPT ALL |
140 | F131 | Grouped operations | - A grouped view is a view whose <query expression> contains a <group by clause> |
141 | F131-01 | WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views | - Subclause 7.4, "<table expression>": Even though a table in the <from clause> is a grouped view, the <where clause>, <group by clause>, and <having clause> may be specified |
142 | F131-02 | Multiple tables supported in queries with grouped views | - Subclause 7.5, "<from clause>": Even though a table in the <from clause> is a grouped view, the <from clause> may specify more than one <table reference> |
143 | F131-03 | Set functions supported in queries with grouped views | - Subclause 7.12, "<query specification>": Even though a table in the <from clause> is a grouped view, the <select list> may specify a <set function specification> |
144 | F131-04 | Subqueries with GROUP BY and HAVING clauses and grouped views | - Subclause 7.15, "<subquery>": A <subquery> in a <comparison predicate> is allowed to contain a <group by clause> and/or a <having clause and/or it may identify a grouped view |
145 | F131-05 | Single row SELECT with GROUP BY and HAVING clauses and grouped views | - Subclause 14.5, "<select statement: single row>": The table in a <from clause> can be a grouped view |
- Subclause 14.5, "<select statement: single row>": The <table expression> may specify a <group by clause and/or a <having clause | |||
146 | F181 | Multiple module support (NOTE 451 - The ability to associate multiple host compilation units with a single SQL-session at one time.) | - Subclause 13.1, "<SQL-client module definition>": An SQL-agent can be associated with more than one <SQL-client module definition> (NOTE 452 - With this feature, it is possible to compile <SQL-client module definition>s or <embedded SQL host program>s separately and rely on the SQL-implementation to "link" the together properly at execution time. To ensure portability, applications should adhere to the following limitations: |
147 | F201 | CAST function (NOTE 453 - This means the support of CAST, where relevant, among all supported data types.) | - Subclause 6.12, "<cast specification>": For all supported data types |
- Subclause 6.25, "<value expression>": <cast specification> | |||
148 | F221 | Explicit defaults | - Subclause 6.5, "<contextually typed value specification>": <default specification> (NOTE 454 - Including its use in UPDATE and INSERT statements.) |
149 | F261 | CASE expression | - Subclause 6.25, "<value expression>": <case expression> |
150 | F261-01 | Simple CASE | - Subclause 6.11, "<case expression>": The <simple case> variation |
151 | F261-02 | Searched CASE | - Subclause 6.11, "<case expression>": The <searched case variation> |
152 | F261-03 | NULLIF | - Subclause 6.11, "<case expression>": The NULLIF <case abbreviation |
153 | F261-04 | COALESCE | - Subclause 6.11, "<case expression>": The COALESCE <case abbreviation |
154 | F311 | Schema definition statement | - Subclause 11.1, "<schema definition>" |
155 | F311-01 | CREATE SCHEMA | - Subclause 11.1, "<schema definition>": Support for circular references in that <referential constraint definition>s in two different <table definition>s may reference columns in the other table |
156 | F311-02 | CREATE TABLE for persistent base tables | - Subclause 11.1, "<schema definition>": A <schema element> that is a <table definition> |
- Subclause 11.3, "<table definition>": In the context of a <schema definition> | |||
157 | F311-03 | CREATE VIEW | - Subclause 11.1, "<schema definition>": A <schema element> that is a <view definition> |
- Subclause 11.22, "<view definition>": In the context of a <schema definition> without the WITH CHECK OPTION clause and without support of Feature F081, "UNION and EXCEPT in views" | |||
158 | F311-04 | CREATE VIEW: WITH CHECK OPTION | - Subclause 11.22, "<view definition>": The WITH CHECK OPTION clause, in the context of a <schema definition>, but without support of Feature F081, "UNION and EXCEPT in views" |
159 | F311-05 | GRANT statement | - Subclause 11.1, "<schema definition>": A <schema element> that is a <grant statement> |
- Subclause 12.1, "<grant statement>": In the context of a <schema definition> | |||
160 | F471 | Scalar subquery values | - Subclause 6.25, "<value expression>": A <value expression primary> can be a <scalar subquery> |
161 | F481 | Expanded NULL predicate | - Subclause 8.7, "<null predicate>": The <row value expression> can be something other than a <column reference> |
162 | F812 | Basic flagging | - Part 1, Subclause 8.1.4, "SQL flagger": With "level of flagging" specified to be Core SQL Flagging and "extent of checking" specified to be Syntax Only (NOTE 455 - This form of flagging identifies vendor extensions and other non-standard SQL by checking syntax only without requiring access to the catalog information.) |
163 | S011 | Distinct data types | - Subclause 11.41, "<user-defined type definition>": When <representation> is <predefined type> |
164 | T321 | Basic SQL-invoked routines | - Subclause 11.50, "<SQL-invoked routine>" |
- If Feature T041, "Basic LOB data type support", is supported, then the <locator indication> clause must also be supported (NOTE 456 - "Routine" is the collective term for functions, methods, and procedures. This feature requires a conforming SQLimplementation to support both user-defined functions and user-defined procedures. An SQL-implementation that conforms to Core SQL must support at least one language for writing routines; that language may be SQL. If the language is SQL, then the basic specification capability in Core SQL is the ability to specify a one-statement routine. Support for overloaded functions and procedures is not part of Core SQL.) | |||
165 | T321-01 | User-defined functions with no overloading | - Subclause 11.50, "<SQL-invoked routine>": With <function specification> |
166 | T321-02 | User-defined stored procedures with no overloading | - Subclause 11.50, "<SQL-invoked routine>": With <SQL-invoked procedure> |
167 | T321-03 | Function invocation | - Subclause 6.4, "<value specification> and <target specification>": With a <value expression primary> that is a <routine invocation> |
- Subclause 10.4, "<routine invocation>": For user-defined functions | |||
168 | T321-04 | CALL statement | - Subclause 10.4, "<routine invocation>": Used by <call statement>s |
- Subclause 15.1, "<call statement>" | |||
169 | T321-05 | RETURN statement | - Subclause 15.2, "<return statement>", if the SQL-implementation supports SQL routines |
Please send feedback to Jonathan Leffler: jonathan.leffler@gmail.com .
@(#)$Id: sql-2003-core-features.html,v 1.3 2017/11/13 20:45:42 jleffler Exp $