ISO/IEC 9075-9:2023
(Main)Information technology — Database languages SQL — Part 9: Management of External Data (SQL/MED)
Information technology — Database languages SQL — Part 9: Management of External Data (SQL/MED)
ISO/IEC 9075-9:2016 defines extensions to Database Language SQL to support management of external data through the use of foreign-data wrappers and datalink types.
Technologies de l'information — Langages de base de données SQL — Partie 9: Gestion des données externes (SQL/MED)
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 9075-9
Fifth edition
2023-06
Information technology —
Database languages SQL —
Part 9:
Management of External Data (SQL/
MED)
Technologies de l'information — Langages de base de données
SQL —
Partie 9: Gestion des données externes (SQL/MED)
Reference number
© ISO/IEC 2023
© ISO/IEC 2023
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting on
the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below
or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii
© ISO/IEC 2023 – All rights reserved
ISO/IEC9075-9:2023(E)
Contents Page
Foreword.xiii
Introduction.xv
1 Scope.1
2 Normativereferences.2
3 Termsanddefinitions.3
4 Concepts.6
4.1 Notationsandconventions.6
4.1.1 Notations.6
4.2 Data types.6
4.2.1 Namingofpredefinedtypes.6
4.2.2 Datatypeterminology.6
4.3 Columns,fields,andattributes.6
4.4 Tables.7
4.4.1 Introductiontotables.7
4.4.2 Basetables.7
4.4.2.1 Foreign tables.7
4.4.3 Uniqueidentificationoftables.7
4.4.4 Tabledescriptors.7
4.4.5 Syntacticanalysisofderivedtablesandcursors.7
4.5 Functional dependencies.8
4.5.1 Knownfunctionaldependenciesinaforeigntable.8
4.6 SQL-schemas.8
4.7 SQL-statements.8
4.7.1 SQL-statementsclassifiedbyfunction.8
4.7.1.1 SQL-schemastatements.8
4.7.1.2 SQL-sessionstatements.9
4.8 Basicsecuritymodel.9
4.8.1 Privileges.9
4.9 SQL-transactions.9
4.9.1 PropertiesofSQL-transactions.9
4.10 SQL-sessions.9
4.10.1 SQL-sessionproperties.9
4.11 IntroductiontoSQL/CLI.10
4.12 Foreign servers.10
4.13 Foreign-datawrappers.11
4.14 User mappings.12
4.15 Routinemappings.12
4.16 Genericoptions.13
©ISO/IEC2023–Allrightsreserved iii
ISO/IEC9075-9:2023(E)
4.17 Capabilitiesandoptionsinformation.13
4.18 Datalinks.14
4.18.1 Introductiontodatalinks.14
4.18.2 Operationsinvolvingdatalinks.17
4.18.2.1 Operatorsthatoperateondatalinks.17
4.18.2.2 Otheroperatorsinvolvingdatalinks.18
4.19 Foreign-datawrapperinterface.18
4.19.1 Introductiontoforeign-datawrapperinterface.18
4.19.2 Handles.18
4.19.3 Foreignserversessions.20
4.19.4 Foreign-datawrapperinterfaceroutines.20
4.19.4.1 Introductiontoforeign-datawrapperinterfaceroutines.20
4.19.4.2 Handle routines.20
4.19.4.3 Initializationroutines.24
4.19.4.4 Accessroutines.24
4.19.4.5 Terminationroutines.25
4.19.4.6 Decompositionandpass-throughmodes.26
4.19.4.7 Sequenceofactionsduringtheexecutionofforeignserverrequests.26
4.19.5 Returncodes.38
4.19.6 Foreign-datawrapperdiagnosticsareas.38
4.19.7 Null pointers.40
4.19.8 Foreign-datawrapperdescriptorareas.40
5 Lexicalelements.44
5.1 and.44
5.2 Namesandidentifiers.46
6 Scalarexpressions.48
6.1 .48
6.2 .51
6.3 .52
6.4 .53
6.5 .57
6.6 .58
7 Queryexpressions.61
7.1 .61
8 Additionalcommonrules.68
8.1 Retrieval assignment.68
8.2 Storeassignment.69
8.3 Resultofdatatypecombinations.70
8.4 Typeprecedencelistdetermination.71
8.5 Determinationofidenticalvalues.72
8.6 Equalityoperations.73
8.7 Groupingoperations.74
8.8 Multisetelementgroupingoperations.75
8.9 Orderingoperations.76
9 Additionalcommonelements.77
9.1 .77
iv ©ISO/IEC2023–Allrightsreserved
ISO/IEC9075-9:2023(E)
9.2 .78
10 Schemadefinitionandmanipulation.80
10.1 .80
10.2 .81
10.3 .82
10.4 .83
10.5 .84
10.6 .85
10.7 .86
10.8 .87
10.9 .88
10.10 .89
10.11 .90
10.12 .91
10.13 .92
10.14 .93
10.15 .94
10.16 .97
10.17 .98
10.18 .99
10.19 .100
10.20 .102
11 Accesscontrol.104
11.1 .104
11.2 .105
11.3 .106
11.4 .108
11.5 .109
12 SQL-clientmodules.110
12.1 .110
12.2 .111
12.3 .114
12.4 Datatypecorrespondences.115
13 Additionaldatamanipulationrules.118
13.1 Effectofdeletingrowsfrombasetables.118
13.2 Effectofinsertingtablesintobasetables.119
13.3 Effectofreplacingrowsinbasetables.121
14 Sessionmanagement.123
14.1 .123
15 DynamicSQL.125
15.1 DescriptionofSQLdescriptorareas.125
15.2 .126
15.3 .128
15.4 .129
15.5 .131
©ISO/IEC2023–Allrightsreserved v
ISO/IEC9075-9:2023(E)
15.6 .135
15.7 .138
15.8 .139
15.9 .140
15.10 .141
15.11 .142
15.12 .143
15.13 .144
16 EmbeddedSQL.145
16.1 .145
16.2 .147
16.3 .148
16.4 .149
16.5 .15
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.