ISO/IEC 9075-13:2023
(Main)Information technology — Database languages SQL — Part 13: SQL Routines and types using the Java TM programming language (SQL/JRT)
Information technology — Database languages SQL — Part 13: SQL Routines and types using the Java TM programming language (SQL/JRT)
ISO/IEC 9075-13:2016 specifies the ability to invoke static methods written in the Java? programming language as SQL-invoked routines and to use classes defined in the Java programming language as SQL structured user-defined types. (Java is a registered trademark of Oracle Corporation and/or its affiliates.)
Technologies de l'information — Langages de base de données SQL — Partie 13: Routines et types de SQL utilisant le langage de programmation Java TM (SQL/JRT)
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 9075-13
Fifth edition
2023-06
Information technology — Database
languages SQL —
Part 13:
SQL Routines and types using the Java
TM programming language (SQL/
JRT)
Technologies de l'information — Langages de base de données SQL
—
Partie 13: Routines et types de SQL utilisant le langage de
programmation Java TM (SQL/JRT)
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-13:2023(E)
Contents Page
Foreword.vii
Introduction.ix
1 Scope.1
2 Normativereferences.2
3 Termsanddefinitions.3
4 Concepts.6
4.1 Notationsandconventions.6
4.1.1 Notations.6
4.1.2 Specificationofbuilt-inprocedures.6
4.1.3 Specificationofdeploymentdescriptorfiles.6
4.2 Javaprogramminglanguage.7
4.3 SQL-invokedroutines.8
4.3.1 CharacteristicsofSQL-invokedroutines.8
4.4 Javaclassnameresolution.9
4.5 SQLresultsets.10
4.6 Parameter mapping.10
4.7 UnhandledJavaexceptions.11
4.8 Data types.11
4.8.1 Hostlanguagedatatypes.11
4.9 User-defined types.12
4.9.1 Introductiontouser-definedtypes.12
4.9.2 User-definedtypecomparisonandassignment.13
4.9.3 User-definedtypedescriptor.13
4.9.4 Accessingstaticfields.14
4.9.5 ConvertingobjectsbetweenSQLandJava.15
4.9.5.1 IntroductiontoconversionofobjectsbetweenSQLandJava.15
4.9.5.2 SERIALIZABLE.15
4.9.5.3 SQLDATA.15
4.9.5.4 Developingforportability.16
4.10 Built-inprocedures.16
4.11 Basicsecuritymodel.16
4.11.1 Privileges.16
4.12 JARs.17
4.12.1 IntroductiontoJARs.17
4.12.2 Deploymentdescriptorfiles.17
5 Lexicalelements.19
5.1 and.19
5.2 Namesandidentifiers.20
©ISO/IEC2023–Allrightsreserved iii
ISO/IEC9075-13:2023(E)
6 Scalarexpressions.22
6.1 .22
6.2 .23
7 Predicates.24
7.1 .24
8 Additionalcommonrules.26
8.1 InvokinganSQL-invokedroutine.26
8.2 Executionofarray-returningfunctions.35
9 Additionalcommonelements.42
9.1 .42
9.2 .43
9.3 .44
9.4 .46
9.5 Javaroutinesignaturedetermination.47
10 Schemadefinitionandmanipulation.55
10.1 .55
10.2 .56
10.3 .57
10.4 .58
10.5 .62
10.6 .65
10.7 .66
10.8 .67
10.9 .70
10.10 .71
10.11 .72
10.12 .73
11 Accesscontrol.74
11.1 .74
11.2 .75
11.3 .76
12 Built-inprocedures.77
12.1 SQLJ.INSTALL_JAR procedure.77
12.2 SQLJ.REPLACE_JARprocedure.79
12.3 SQLJ.REMOVE_JAR procedure.81
12.4 SQLJ.ALTER_JAVA_PATHprocedure.83
13 Javatopics.85
13.1 Javafacilitiessupportedbythisdocument.85
13.1.1 Packagejava.sql.85
13.1.2 Systemproperties.85
13.2 Deploymentdescriptorfiles.86
14 InformationSchema.89
14.1 InformationSchemadigitalartifact.89
14.2 JAR_JAR_USAGE view.89
14.3 JARSview.90
iv ©ISO/IEC2023–Allrightsreserved
ISO/IEC9075-13:2023(E)
14.4 METHOD_SPECIFICATIONSview.91
14.5 ROUTINE_JAR_USAGE view.92
14.6 TYPE_JAR_USAGEview.93
14.7 USER_DEFINED_TYPESview.94
14.8 Shortnameviews.95
15 DefinitionSchema.96
15.1 DefinitionSchemadigitalartifact.96
15.2 JAR_JAR_USAGEbasetable.96
15.3 JARSbasetable.98
15.4 METHOD_SPECIFICATIONSbasetable.99
15.5 ROUTINE_JAR_USAGEbasetable.101
15.6 ROUTINESbasetable.102
15.7 TYPE_JAR_USAGEbasetable.103
15.8 USAGE_PRIVILEGESbasetable.104
15.9 USER_DEFINED_TYPESbasetable.105
16 Statuscodes.107
16.1 SQLSTATE.107
17 Conformance.108
17.1 ClaimsofconformancetoSQL/JRT.108
17.2 AdditionalconformancerequirementsforSQL/JRT.108
17.3 ImpliedfeaturerelationshipsofSQL/JRT.108
AnnexA(informative) SQLconformancesummary.109
AnnexB(informative) Implementation-defined elements.115
AnnexC(informative) Implementation-dependent elements.121
AnnexD(informative) SQLoptionalfeaturetaxonomy.123
AnnexE(informative) Deprecatedfeatures.125
AnnexF(informative) IncompatibilitieswithISO/IEC9075:2016.126
AnnexG(informative) DefectReportsnotaddressedinthiseditionofthisdocument.127
Bibliography.128
Index.129
©ISO/IEC2023–Allrightsreserved v
ISO/IEC9075-13:2023(E)
Tables
Table Page
1 Standardprogramminglanguages.42
2 System properties.85
3 SQLSTATEclassandsubclasscodes.107
4 ImpliedfeaturerelationshipsofSQL/JRT.108
A.1 FeaturedefinitionsoutsideofConformanceRules.109
D.1 Featuretaxonomyforoptionalfeatures.123
vi ©ISO/IEC2023–Allrightsreserved
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Com-
mission) form the specialized system for worldwide standardization. National bodies that are members
of ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, govern-
mental and non-governmental, in liaison with ISO and IEC, also take part in the work.
The procedures used to develop this document and those intended for its further maintenance are de-
scribed in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for the dif-
ferent types of document should be noted. This document was drafted in accordance with the editorial
rules of the ISO/IEC Directives, Part 2 (see www.iso.org/directives or www.iec.ch/members_experts/ref-
docs).
ISO and IEC draw attention to the possibility that the implementation of this document may involve the
use of (a) patent(s). ISO and IEC take no position concerning the evidence, validity or applicability of any
claimed patent rights in respect thereof. As of the date of publication of this document, ISO and IEC have
not received notice of (a) patent(s) which may be required to implement this document. However, imple-
menters are cautioned that this may not represent the latest information, which may be obtained from
the patent database available at www.iso.org/patents and https://patents.iec.ch. ISO and IEC shall not be
held responsible for identifying any or all such patent rights.
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and expres-
sions related to conformity assessment, as well as information about ISO's adherence to the World Trade
Organization (WTO) principles in th
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.