SQLServer 对 SQL 标准的支持情况
资源文件列表:

SQLServerStandards/[[ReadmefirstSQL]].pdf 169.94KB
SQLServerStandards/[MS-SQLXQUERY].pdf 1.4MB
SQLServerStandards/[MS-TSQLISO02].pdf 5.27MB
SQLServerStandards/[MS-TSQLISO03].pdf 669.67KB
SQLServerStandards/[MS-TSQLISO11].pdf 1.27MB
SQLServerStandards/[MS-TSQLISO14].pdf 1.76MB
资源介绍:
SQLServer 对 SQL 标准的支持情况
1 / 259
[MS-TSQLISO02] - v20170816
SQL Server Transact-SQL ISO/IEC 9075-2 Standards Support Document
Copyright © 2017 Microsoft Corporation
Release: August 16, 2017
[MS-TSQLISO02]:
SQL Server Transact-SQL ISO/IEC 9075-2 Standards
Support Document
Intellectual Property Rights Notice for Open Specifications Documentation
Technical Documentation. Microsoft publishes Open Specifications documentation (“this
documentation”) for protocols, file formats, data portability, computer languages, and standards
support. Additionally, overview documents cover inter-protocol relationships and interactions.
Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other
terms that are contained in the terms of use for the Microsoft website that hosts this
documentation, you can make copies of it in order to develop implementations of the technologies
that are described in this documentation and can distribute portions of it in your implementations
that use these technologies or in your documentation as necessary to properly document the
implementation. You can also distribute in your implementation, with or without modification, any
schemas, IDLs, or code samples that are included in the documentation. This permission also
applies to any documents that are referenced in the Open Specifications documentation.
No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.
Patents. Microsoft has patents that might cover your implementations of the technologies
described in the Open Specifications documentation. Neither this notice nor Microsoft's delivery of
this documentation grants any licenses under those patents or any other Microsoft patents.
However, a given Open Specifications document might be covered by the Microsoft Open
Specifications Promise or the Microsoft Community Promise. If you would prefer a written license,
or if the technologies described in this documentation are not covered by the Open Specifications
Promise or Community Promise, as applicable, patent licenses are available by contacting
iplg@microsoft.com.
License Programs. To see all of the protocols in scope under a specific license program and the
associated patents, visit the Patent Map.
Trademarks. The names of companies and products contained in this documentation might be
covered by trademarks or similar intellectual property rights. This notice does not grant any
licenses under those rights. For a list of Microsoft trademarks, visit
www.microsoft.com/trademarks.
Fictitious Names. The example companies, organizations, products, domain names, email
addresses, logos, people, places, and events that are depicted in this documentation are fictitious.
No association with any real company, organization, product, domain name, email address, logo,
person, place, or event is intended or should be inferred.
Reservation of Rights. All other rights are reserved, and this notice does not grant any rights other
than as specifically described above, whether by implication, estoppel, or otherwise.
Tools. The Open Specifications documentation does not require the use of Microsoft programming
tools or programming environments in order for you to develop an implementation. If you have access
to Microsoft programming tools and environments, you are free to take advantage of them. Certain
Open Specifications documents are intended for use in conjunction with publicly available standards
specifications and network programming art and, as such, assume that the reader either is familiar
with the aforementioned material or has immediate access to it.
Support. For questions and support, please contact dochelp@microsoft.com.

2 / 259
[MS-TSQLISO02] - v20170816
SQL Server Transact-SQL ISO/IEC 9075-2 Standards Support Document
Copyright © 2017 Microsoft Corporation
Release: August 16, 2017
Revision Summary
Date
Revision
History
Revision
Class
Comments
6/29/2012
1.0
New
Released new document.
7/16/2012
1.0
None
No changes to the meaning, language, or formatting of the
technical content.
10/8/2012
1.0
None
No changes to the meaning, language, or formatting of the
technical content.
10/23/2012
1.0
None
No changes to the meaning, language, or formatting of the
technical content.
3/26/2013
1.0
None
No changes to the meaning, language, or formatting of the
technical content.
6/11/2013
1.0
None
No changes to the meaning, language, or formatting of the
technical content.
8/8/2013
1.0
None
No changes to the meaning, language, or formatting of the
technical content.
12/5/2013
1.0
None
No changes to the meaning, language, or formatting of the
technical content.
2/11/2014
1.0
None
No changes to the meaning, language, or formatting of the
technical content.
5/20/2014
1.0
None
No changes to the meaning, language, or formatting of the
technical content.
5/10/2016
1.0
None
No changes to the meaning, language, or formatting of the
technical content.
8/16/2017
1.0
None
No changes to the meaning, language, or formatting of the
technical content.

3 / 259
[MS-TSQLISO02] - v20170816
SQL Server Transact-SQL ISO/IEC 9075-2 Standards Support Document
Copyright © 2017 Microsoft Corporation
Release: August 16, 2017
Table of Contents
1 Introduction ............................................................................................................ 9
1.1 Glossary ........................................................................................................... 9
1.2 References ........................................................................................................ 9
1.2.1 Normative References ................................................................................... 9
1.2.2 Informative References ................................................................................. 9
1.3 Microsoft Implementations ................................................................................ 12
1.4 Standards Support Requirements ....................................................................... 12
1.5 Notation .......................................................................................................... 13
2 Standards Support Statements .............................................................................. 14
2.1 Normative Variations ........................................................................................ 14
2.1.1 Mandatory Features .................................................................................... 14
2.1.1.1 E021, Character string types .................................................................. 14
2.1.1.2 E021-01, CHARACTER data type (including all its spellings) ........................ 14
2.1.1.3 E021-02, CHARACTER VARYING data type (including all its spellings) .......... 14
2.1.1.4 E021-04, CHARACTER_LENGTH function .................................................. 15
2.1.1.5 E021-05, OCTET_LENGTH function .......................................................... 15
2.1.1.6 E021-06, SUBSTRING function ............................................................... 15
2.1.1.7 E021-07, Character concatenation .......................................................... 16
2.1.1.8 E021-09, TRIM function ......................................................................... 16
2.1.1.9 E021-11, POSITION function .................................................................. 16
2.1.1.10 E051, Basic query specification ............................................................... 17
2.1.1.11 E051-09, Rename columns in the FROM clause ......................................... 17
2.1.1.12 E081, Basic Privileges ............................................................................ 18
2.1.1.13 E081-09, USAGE privilege ...................................................................... 19
2.1.1.14 E121, Basic cursor support ..................................................................... 19
2.1.1.15 E121-17, WITH HOLD cursors ................................................................. 20
2.1.1.16 E141, Basic integrity constraints ............................................................. 20
2.1.1.17 E141-07, Column defaults ...................................................................... 21
2.1.1.18 E152, Basic SET TRANSACTION statement ............................................... 21
2.1.1.19 E152-02, SET TRANSACTION statement: READ ONLY and READ WRITE clauses
.......................................................................................................... 22
2.1.1.20 E171, SQLSTATE support ....................................................................... 23
2.1.1.21 E182, Module language .......................................................................... 23
2.1.1.22 F031, Basic schema manipulation ........................................................... 23
2.1.1.23 F031-13, DROP TABLE statement: RESTRICT clause .................................. 24
2.1.1.24 F031-16, DROP VIEW statement: RESTRICT clause ................................... 24
2.1.1.25 F031-19, REVOKE statement: RESTRICT clause ........................................ 25
2.1.1.26 F051, Basic date and time ...................................................................... 25
2.1.1.27 F051-03, TIMESTAMP data type (including support of TIMESTAMP literal) with
fractional seconds precision of at least 0 and 6 ......................................... 26
2.1.1.28 F051-06, CURRENT_DATE ...................................................................... 27
2.1.1.29 F051-07, LOCALTIME............................................................................. 27
2.1.1.30 F051-08, LOCALTIMESTAMP ................................................................... 28
2.1.1.31 F812, Basic flagging .............................................................................. 29
2.1.1.32 S011, Distinct data types ....................................................................... 30
2.1.1.33 T321, Basic SQL-invoked routines ........................................................... 30
2.1.1.34 T321-01, User-defined functions with no overloading ................................ 31
2.1.1.35 T321-02, User-defined stored procedures with no overloading .................... 32
2.1.1.36 T321-04, CALL statement ...................................................................... 32
2.1.2 Optional Features ....................................................................................... 33
2.1.2.1 B011, Embedded Ada ............................................................................ 33
2.1.2.2 B012, Embedded C ............................................................................... 33
2.1.2.3 B013, Embedded COBOL ........................................................................ 33
2.1.2.4 B014, Embedded Fortran ....................................................................... 34

4 / 259
[MS-TSQLISO02] - v20170816
SQL Server Transact-SQL ISO/IEC 9075-2 Standards Support Document
Copyright © 2017 Microsoft Corporation
Release: August 16, 2017
2.1.2.5 B015, Embedded MUMPS ....................................................................... 34
2.1.2.6 B016, Embedded Pascal ......................................................................... 35
2.1.2.7 B017, Embedded PL/I ............................................................................ 35
2.1.2.8 B021, Direct SQL .................................................................................. 35
2.1.2.9 B031, Basic dynamic SQL ....................................................................... 36
2.1.2.10 B032, Extended dynamic SQL ................................................................. 41
2.1.2.11 B032-01, <describe input statement> ..................................................... 43
2.1.2.12 B034, Dynamic specification of cursor attributes ....................................... 43
2.1.2.13 B035, Non-extended descriptor names .................................................... 44
2.1.2.14 B041, Extensions to embedded SQL exception declarations ........................ 44
2.1.2.15 B051, Enhanced execution rights ............................................................ 45
2.1.2.16 B111, Module language Ada ................................................................... 46
2.1.2.17 B112, Module language C ....................................................................... 46
2.1.2.18 B113, Module language COBOL ............................................................... 47
2.1.2.19 B114, Module language Fortran .............................................................. 47
2.1.2.20 B115, Module language MUMPS .............................................................. 48
2.1.2.21 B116, Module language Pascal ................................................................ 48
2.1.2.22 B117, Module language PL/I ................................................................... 49
2.1.2.23 B121, Routine language Ada .................................................................. 49
2.1.2.24 B122, Routine language C ...................................................................... 50
2.1.2.25 B123, Routine language COBOL .............................................................. 50
2.1.2.26 B124, Routine language Fortran .............................................................. 51
2.1.2.27 B125, Routine language MUMPS ............................................................. 52
2.1.2.28 B126, Routine language Pascal ............................................................... 52
2.1.2.29 B127, Routine language PL/I .................................................................. 53
2.1.2.30 B221, Routine language Ada: VARCHAR and NUMERIC support ................... 53
2.1.2.31 F032, CASCADE drop behavior ................................................................ 54
2.1.2.32 F034, Extended REVOKE statement ......................................................... 55
2.1.2.33 F052, Intervals and datetime arithmetic .................................................. 57
2.1.2.34 F053, OVERLAPS predicate ..................................................................... 59
2.1.2.35 F054, TIMESTAMP in DATE type precedence list ........................................ 59
2.1.2.36 F121, Basic diagnostics management ...................................................... 60
2.1.2.37 F121-01, GET DIAGNOSTICS statement ................................................... 61
2.1.2.38 F121-02, SET TRANSACTION statement: DIAGNOSTICS SIZE clause ........... 61
2.1.2.39 F122, Enhanced diagnostics management ................................................ 61
2.1.2.40 F123, All diagnostics ............................................................................. 63
2.1.2.41 F191, Referential delete actions .............................................................. 63
2.1.2.42 F202, TRUNCATE TABLE: identity column restart option ............................. 64
2.1.2.43 F231, Privilege tables ............................................................................ 64
2.1.2.44 F231-03, USAGE_PRIVILEGES view ......................................................... 65
2.1.2.45 F251, Domain support ........................................................................... 66
2.1.2.46 F271, Compound character literals .......................................................... 67
2.1.2.47 F291, UNIQUE predicate ........................................................................ 68
2.1.2.48 F301, CORRESPONDING in query expressions .......................................... 68
2.1.2.49 F302, INTERSECT table operator ............................................................. 69
2.1.2.50 F302-01, INTERSECT DISTINCT table operator ......................................... 69
2.1.2.51 F304, EXCEPT ALL table operator ............................................................ 70
2.1.2.52 F314, MERGE statement with DELETE branch ........................................... 70
2.1.2.53 F321, User authorization ........................................................................ 71
2.1.2.54 F341, Usage tables ................................................................................ 72
2.1.2.55 F361, Subprogram support..................................................................... 75
2.1.2.56 F381, Extended schema manipulation ...................................................... 76
2.1.2.57 F381-01, ALTER TABLE statement: ALTER COLUMN clause ......................... 78
2.1.2.58 F381-03, ALTER TABLE statement: DROP CONSTRAINT clause ................... 78
2.1.2.59 F383, Set column not null clause ............................................................ 79
2.1.2.60 F384, Drop identity property clause ......................................................... 79
2.1.2.61 F385, Drop column generation expression clause ...................................... 80
2.1.2.62 F386, Set identity column generation clause ............................................. 80

5 / 259
[MS-TSQLISO02] - v20170816
SQL Server Transact-SQL ISO/IEC 9075-2 Standards Support Document
Copyright © 2017 Microsoft Corporation
Release: August 16, 2017
2.1.2.63 F392, Unicode escapes in identifiers ........................................................ 81
2.1.2.64 F393, Unicode escapes in literals ............................................................ 81
2.1.2.65 F394, Optional normal form specification ................................................. 82
2.1.2.66 F401, Extended joined table ................................................................... 83
2.1.2.67 F401-01, NATURAL JOIN ........................................................................ 84
2.1.2.68 F402, Named column joins for LOBs, arrays, and multisets ........................ 84
2.1.2.69 F403, Partitioned join tables ................................................................... 85
2.1.2.70 F411, Time zone specification ................................................................. 86
2.1.2.71 F421, National character ........................................................................ 87
2.1.2.72 F431, Read-only scrollable cursors .......................................................... 89
2.1.2.73 F441, Extended set function support ....................................................... 90
2.1.2.74 F442, Mixed column references in set functions ........................................ 92
2.1.2.75 F451, Character set definition ................................................................. 94
2.1.2.76 F461, Named character sets ................................................................... 94
2.1.2.77 F492, Optional table constraint enforcement ............................................ 96
2.1.2.78 F502, Enhanced documentation tables ..................................................... 96
2.1.2.79 F502-01, SQL_SIZING_PROFILES view .................................................... 98
2.1.2.80 F502-02, SQL_IMPLEMENTATION_INFO view ............................................ 99
2.1.2.81 F502-03, SQL_PACKAGES view .............................................................. 100
2.1.2.82 F521, Assertions .................................................................................. 100
2.1.2.83 F531, Temporary tables ........................................................................ 101
2.1.2.84 F555, Enhanced seconds precision ......................................................... 102
2.1.2.85 F561, Full value expressions .................................................................. 103
2.1.2.86 F571, Truth value tests ......................................................................... 104
2.1.2.87 F611, Indicator data types .................................................................... 105
2.1.2.88 F641, Row and table constructors .......................................................... 105
2.1.2.89 F651, Catalog name qualifiers ............................................................... 107
2.1.2.90 F661, Simple tables .............................................................................. 108
2.1.2.91 F672, Retrospective check constraints .................................................... 108
2.1.2.92 F673, Reads SQL-data routine invocations in CHECK constraints ................ 109
2.1.2.93 F690, Collation support ......................................................................... 110
2.1.2.94 F692, Enhanced collation support ........................................................... 111
2.1.2.95 F693, SQL-session and client module collations ....................................... 112
2.1.2.96 F695, Translation support ..................................................................... 113
2.1.2.97 F701, Referential update actions ............................................................ 114
2.1.2.98 F711, ALTER domain ............................................................................ 114
2.1.2.99 F721, Deferrable constraints ................................................................. 115
2.1.2.100 F741, Referential MATCH types .............................................................. 116
2.1.2.101 F751, View CHECK enhancements .......................................................... 117
2.1.2.102 F761, Session management .................................................................. 118
2.1.2.103 F762, CURRENT_CATALOG .................................................................... 119
2.1.2.104 F763, CURRENT_SCHEMA ..................................................................... 120
2.1.2.105 F771, Connection management ............................................................. 121
2.1.2.106 F791, Insensitive cursors ...................................................................... 122
2.1.2.107 F813, Extended flagging ....................................................................... 123
2.1.2.108 F821, Local table references .................................................................. 123
2.1.2.109 F841, LIKE_REGEX predicate ................................................................. 124
2.1.2.110 F842, OCCURRENCES_REGEX function.................................................... 125
2.1.2.111 F843, POSITION_REGEX function ........................................................... 125
2.1.2.112 F844, SUBSTRING_REGEX function ........................................................ 125
2.1.2.113 F845, TRANSLATE_REGEX function ........................................................ 126
2.1.2.114 F846, Octet support in regular expression operators ................................. 126
2.1.2.115 F847, Nonconstant regular expressions ................................................... 128
2.1.2.116 F851, <order by clause> in subqueries ................................................... 129
2.1.2.117 F852, Top-level <order by clause> in views ............................................ 129
2.1.2.118 F856, Nested <fetch first clause> in <query expression> ......................... 130
2.1.2.119 F857, Top-level <fetch first clause> in <query expression> ...................... 131
2.1.2.120 F858, <fetch first clause> in subqueries ................................................. 131