この規格 プレビューページの目次
※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。
序文
ISO (国際標準化機構) と IEC (国際電気標準会議) は、世界標準化のための専門システムを形成しています。 ISO または IEC のメンバーである国家機関は、技術活動の特定の分野を扱うために、それぞれの組織によって設立された技術委員会を通じて、国際規格の開発に参加しています。 ISO と IEC の技術委員会は、相互に関心のある分野で協力しています。 ISO および IEC と連携して、政府および非政府の他の国際機関もこの作業に参加しています。情報技術の分野では、ISO と IEC が合同技術委員会 ISO/IEC JTC 1 を設立しました。
この文書の開発に使用された手順と、今後の維持のために意図された手順は、ISO/IEC 指令で説明されています。 1. 特に、さまざまなタイプの文書に必要なさまざまな承認基準に注意する必要があります。この文書は、ISO/IEC 指令の編集規則に従って作成されました。 2 ( www.iso.org/directives を参照)
このドキュメントの要素の一部が特許権の対象となる可能性があることに注意してください。 ISO および IEC は、そのような特許権の一部またはすべてを特定する責任を負わないものとします。ドキュメントの開発中に特定された特許権の詳細は、序文および/または受信した特許宣言の ISO リストに記載されます ( www.iso.org/patents を参照)
このドキュメントで使用されている商号は、ユーザーの便宜のために提供された情報であり、保証を構成するものではありません。
適合性評価に関連する ISO 固有の用語と表現の意味に関する説明、および技術的貿易障壁 (TBT) における世界貿易機関 (WTO) の原則への ISO の準拠に関する情報については、次の URL を参照してください: www.iso .org/iso/foreword.html .
この文書を担当する委員会は、ISO/IEC JTC 1, 情報技術、 SC 32, データ管理および交換です。
ISO/IEC 9075-3 のこの第 5 版は、技術的に改訂された第 4 版 (ISO/IEC 9075-3:2008) を取り消して置き換えます。
ISO/IEC 9075 シリーズのすべての部分のリストは、一般的なタイトルInformation technology — Database languages — SQL: で公開されており、ISO Web サイトで見つけることができます。
注記マルチパート規格の個々のパートは、必ずしもまとめて発行されるとは限りません。 1 つ以上のパーツの新版は、他のパーツの新版を発行せずに発行できます。
序章
ISO/IEC 9075 のこの部分の構成は次のとおりです。
- 1)箇条 1「範囲」は、ISO/IEC 9075 のこの部分の範囲を指定します。
- 2)第 2 項「引用規格」は、ISO/IEC 9075 のこの部分での参照を通じて、ISO/IEC 9075 のこの部分の規定を構成する追加規格を識別します。
- 3)第 3 節「定義、表記、および規則」は、ISO/IEC 9075 のこの部分で使用される表記と規則を定義します。
- 4)第 4 節「概念」は、コールレベル インターフェイスの定義で使用される概念を示します。
- 5)第 5 条「コールレベル インターフェイス仕様」は、コールレベル インターフェイスを介して SQL を使用するための機能を定義します。
- 6)第 6 節「SQL/CLI ルーチン」は、コールレベル インターフェイスを構成する各ルーチンを定義します。
- 7)第 7 条「追加のデータ操作規則」は、データ操作の追加規則を定義します。
- 8)第 8 節「動的 SQL」は、SQL 動的ステートメントを定義します。
- 9)第 9 条「定義スキーマ」は、コールレベル インターフェイスのサポートに必要な定義スキーマの拡張を指定します。
- 10)第 10 条「適合性」は、ISO/IEC 9075 のこの部分への適合性の基準を定義します。
- 11)付属書 A, 「SQL 適合性要約」は、有益な付属書です。これは、SQL 言語の適合要件をまとめたものです。
- 12)附属書 B, 「実装で定義された要素」は、有益な附属書です。 ISO/IEC 9075 のこの部分の本文で、構文、意味、返される結果、SQL データやスキーマへの影響、またはその他の動作が部分的または完全に実装定義であると述べられている機能を一覧表示します。
- 13)附属書 C, 「実装に依存する要素」は、有益な附属書です。 ISO/IEC 9075 のこの部分の本文で、構文、意味、返される結果、SQL データやスキーマへの影響、またはその他の動作が部分的または完全に実装依存であると述べられている機能を一覧表示します。
- 14)附属書 D, 「非推奨の機能」は、有益な附属書です。これは、担当の技術委員会が ISO/IEC 9075 のこの部分の将来の改訂版に登場しないことを意図している機能をリストしています。
- 15)附属書 E「ISO/IEC 9075:2011 および 9075:2008 との非互換性」は参考附属書です。 ISO/IEC 9075 のこの部分の以前のバージョンとの非互換性がリストされています。
- 16)付属書 F「SQL 機能の分類法」は、有益な付属書です。 ISO/IEC 9075 のこの部分で指定されている SQL 言語の機能を、識別子と短い説明的な名前で識別します。この分類法は、適合性を指定するために使用されます。
- 17)附属書 G, 「ISO/IEC 9075 のこの部分のこの版では扱われていない欠陥報告」は、有益な附属書です。この規格のこのパートの発行時に知られている欠陥レポートについて説明します。これらの問題のそれぞれは、ISO/IEC 9075 の前の版から持ち越された問題です。この国際規格のこの版の起草では、新しい問題は作成されていません。
- 18)附属書 H「典型的なヘッダー ファイル」は、有益な附属書です。 SQL 呼び出しレベル インターフェイスを使用するアプリケーション プログラムの一般的な定義ファイルの例を示します。
- 19)附属書 I「サンプル C プログラム」は参考附属書です。 C プログラミング言語で SQL 呼び出しレベル インターフェイスを使用する例を示します。
ISO/IEC 9075 のこの部分のテキストでは、箇条と付属書は新しい奇数ページから始まり、箇条 5「コールレベル インターフェイス仕様」から箇条 10「適合性」まで、細分箇条は新しいページで始まります。結果の空白スペースは重要ではありません。
1 スコープ
ISO/IEC 9075 のこの部分は、使用されるプロシージャーが実行される SQL ステートメントとは無関係であるように、プログラミング言語で作成されたアプリケーション内からデータベース言語 SQL のステートメントを実行するために使用できる構造とプロシージャーを定義します。
2 参考文献
本書の適用には、以下の参考文献が不可欠です。日付のある参考文献については、引用された版のみが適用されます。日付のない参照については、参照文書の最新版 (修正を含む) が適用されます。
2.1 ISO および IEC 規格
- ISO/IEC 1539-1:2004, 情報技術 - プログラミング言語 - Fortran - 1: ベース言語。
- ISO/IEC 1539-2:2000, 情報技術 - プログラミング言語 - Fortran - 2: 可変長文字列。
- ISO 1989:2002, 情報技術 - プログラミング言語 - COBO
- ISO 6160:1979, プログラミング言語 — PL/I ( ANSI X3.53-1976 の承認)
- ISO/IEC 7185:1990, 情報技術 - プログラミング言語 - パスカル。
- ISO/IEC 8652:1995, 情報技術 - プログラミング言語 - Ad
- ISO/IEC 8652:1995/Cor.1:200
- ISO/IEC 9075-1:2016, 情報技術 — データベース言語 — SQL — 1: フレームワーク (SQL/フレームワーク)
- ISO/IEC 9075-2:2016, 情報技術 — データベース言語 — SQL — 2: ファウンデーション (SQL/ファウンデーション)
- ISO/IEC 9075-11:2016, 情報技術 — データベース言語 — SQL — 11: 情報および定義スキーマ (SQL/スキーマ)
- ISO/IEC 9899:1999, プログラミング言語 — C.
- ISO/IEC 9899:1999/Cor 1:200
- ISO/IEC 9899:1999/Cor 2:200
- ISO/IEC 9899:1999/Cor.3:2007
- ISO/IEC 10206:1991, 情報技術 - プログラミング言語 - 拡張パスカル。
- ISO/IEC 11756:1999, 情報技術 - プログラミング言語 - M.
3 定義、表記、および慣例
この条項は、ISO/IEC 9075-2 の条項 3「定義、表記法、および規則」を変更します。
3.1 定義
この条項は、ISO/IEC 9075-2 の条項 3.1「定義」を修正します。
3.1.1 で提供される定義3
このドキュメントでは、次の定義が適用されます。
3.1.1.1
情報元
現在の SQL 接続の一部である SQL サーバーのシノニム
3.1.1.2
行為
CLI リソースが割り当てられ、その CLI リソースを参照するために SQL/CLI アプリケーションによって使用されるときに、SQL/CLI 実装によって返される CLI オブジェクト
3.1.1.3
インナーテーブル
左外部結合の第 2 オペランドまたは右外部結合の第 1 オペランド
3.1.1.4
疑似列
テーブルの一部であるが、そのテーブルの記述子の一部ではない列
注記 1このような疑似列の例は、実装定義の行識別子です。
3.1.1.5
行セット
Fetch および FetchScroll ルーチンの 1 回の呼び出しで取得される 1 つ以上の行
3.1.1.6
SQL/CLI アプリケーション
ISO/IEC 9075 のこのパートで指定されている <CLI ルーチン> を呼び出すアプリケーション
3.2 規約
この条項は、ISO/IEC 9075-2 の条項 3.3「規約」を修正します。
3.2.1 ルーチン定義の仕様
このドキュメントのルーチンは、次の観点から指定されています。
- 機能 : ルーチンの目的の短いステートメント。
- 定義 : ルーチンの名前と、その各パラメーターの名前、モード、およびデータ型。
- 一般規則 : ルーチンの実行時効果の仕様。ルーチンの効果を指定するために複数の一般規則が使用される場合、要求される効果は、最初の一般規則から始めて、変更を指定または暗示する規則が適用されるまで番号順に規則を適用することによって得られる効果です。規則の適用の順序または終了。適用される特定の規則によって特に指定または暗示されている場合を除き、一般規則の適用は、一連の最後の規則が適用された時点で終了します。
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) 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, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
The procedures used to develop this document and those intended for its further maintenance are described in the ISO/IEC Directives, 1. In particular the different approval criteria needed for the different types of document should be noted. This document was drafted in accordance with the editorial rules of the ISO/IEC Directives, 2 (see www.iso.org/directives ).
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights. Details of any patent rights identified during the development of the document will be in the Introduction and/or on the ISO list of patent declarations received (see www.iso.org/patents ).
Any trade name used in this document is information given for the convenience of users and does not constitute an endorsement.
For an explanation on the meaning of ISO specific terms and expressions related to conformity assessment, as well as information about ISO's adherence to the World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT) see the following URL: www.iso.org/iso/foreword.html .
The committee responsible for this document is ISO/IEC JTC 1, Information technology, SC 32, Data management and interchange.
This fifth edition of ISO/IEC 9075-3 cancels and replaces the fourth edition (ISO/IEC 9075-3:2008), which has been technically revised.
A list of all parts in the ISO/IEC 9075 series, published under the general title Information technology — Database languages — SQL: , can be found on the ISO website.
NOTE The individual parts of multi-part standards are not necessarily published together. New editions of one or more parts can be published without publication of new editions of other parts.
Introduction
The organization of this part of ISO/IEC 9075 is as follows:
- 1) Clause 1, “Scope”, specifies the scope of this part of ISO/IEC 9075.
- 2) Clause 2, “Normative references”, identifies additional standards that, through reference in this part of ISO/IEC 9075, constitute provisions of this part of ISO/IEC 9075.
- 3) Clause 3, “Definitions, notations, and conventions”, defines the notations and conventions used in this part of ISO/IEC 9075.
- 4) Clause 4, “Concepts”, presents concepts used in the definition of the Call-Level Interface.
- 5) Clause 5, “Call-Level Interface specifications”, defines facilities for using SQL through a Call-Level Interface.
- 6) Clause 6, “SQL/CLI routines”, defines each of the routines that comprise the Call-Level Interface.
- 7) Clause 7, “Additional data manipulation rules”, defines additional rules for data manipulation.
- 8) Clause 8, “Dynamic SQL”, defines the SQL dynamic statements.
- 9) Clause 9, “Definition Schema”, specifies extensions to the Definition Schema required for support of the Call-Level Interface.
- 10) Clause 10, “Conformance”, defines the criteria for conformance to this part of ISO/IEC 9075.
- 11) Annex A, “SQL Conformance Summary”, is an informative Annex. It summarizes the conformance requirements of the SQL language.
- 12) Annex B, “Implementation-defined elements”, is an informative Annex. It lists those features for which the body of this part of ISO/IEC 9075 states that the syntax, the meaning, the returned results, the effect on SQL-data and/or schemas, or any other behavior is partly or wholly implementation-defined.
- 13) Annex C, “Implementation-dependent elements”, is an informative Annex. It lists those features for which the body of this part of ISO/IEC 9075 states that the syntax, the meaning, the returned results, the effect on SQL-data and/or schemas, or any other behavior is partly or wholly implementation-dependent.
- 14) Annex D, “Deprecated features”, is an informative Annex. It lists features that the responsible Technical Committee intend will not appear in a future revised version of this part of ISO/IEC 9075.
- 15) Annex E, “Incompatibilities with ISO/IEC 9075:2011 and 9075:2008”, is an informative Annex. It lists incompatibilities with the previous version of this part of ISO/IEC 9075.
- 16) Annex F, “SQL feature taxonomy”, is an informative Annex. It identifies features of the SQL language specified in this part of ISO/IEC 9075 by an identifier and a short descriptive name. This taxonomy is used to specify conformance.
- 17) Annex G, “Defect reports not addressed in this edition of this part of ISO/IEC 9075”, is an informative Annex. It describes the Defect Reports that were known at the time of publication of this part of this International Standard. Each of these problems is a problem carried forward from the previous edition of ISO/IEC 9075. No new problems have been created in the drafting of this edition of this International Standard.
- 18) Annex H, “Typical header files”, is an informative Annex. It provides examples of typical definition files for application programs using the SQL Call-Level Interface.
- 19) Annex I, “Sample C programs”, is an informative Annex. It provides examples of using the SQL Call-Level Interface in the C programming language.
In the text of this part of ISO/IEC 9075, Clauses and Annexes begin new odd-numbered pages, and in Clause 5, “Call-Level Interface specifications”, through Clause 10, “Conformance”, Subclauses begin new pages. Any resulting blank space is not significant.
1 Scope
This part of ISO/IEC 9075 defines the structures and procedures that can be used to execute statements of the database language SQL from within an application written in a programming language in such a way that procedures used are independent of the SQL statements to be executed.
2 Normative references
The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
2.1 ISO and IEC standards
- ISO/IEC 1539-1:2004, Information technology — Programming languages — Fortran — 1: Base language.
- ISO/IEC 1539-2:2000, Information technology — Programming languages — Fortran — 2: Varying length character strings.
- ISO 1989:2002, Information technology — Programming languages — COBOL.
- ISO 6160:1979, Programming languages — PL/I (Endorsement of ANSI X3.53-1976).
- ISO/IEC 7185:1990, Information technology — Programming languages — Pascal.
- ISO/IEC 8652:1995, Information technology — Programming languages — Ada.
- ISO/IEC 8652:1995/Cor.1:2001.
- ISO/IEC 9075-1:2016, Information technology — Database languages — SQL — 1: Framework (SQL/Framework).
- ISO/IEC 9075-2:2016, Information technology — Database languages — SQL — 2: Foundation (SQL/Foundation)
- ISO/IEC 9075-11:2016, Information technology — Database languages — SQL — 11: Information and Definition Schemas (SQL/Schemata).
- ISO/IEC 9899:1999, Programming languages — C.
- ISO/IEC 9899:1999/Cor 1:2001.
- ISO/IEC 9899:1999/Cor 2:2004.
- ISO/IEC 9899:1999/Cor.3:2007
- ISO/IEC 10206:1991, Information technology — Programming languages — Extended Pascal.
- ISO/IEC 11756:1999, Information technology — Programming languages — M.
3 Definitions, notations, and conventions
This Clause modifies Clause 3, “Definitions, notations, and conventions”, in ISO/IEC 9075-2.
3.1 Definitions
This Subclause modifies Subclause 3.1, “Definitions”, in ISO/IEC 9075-2.
3.1.1 Definitions provided in 3
For the purposes of this document, the following definitions apply.
3.1.1.1
data source
synonym for the SQL-server that is part of the current SQL-connection
3.1.1.2
handle
CLI object returned by an SQL/CLI implementation when a CLI resource is allocated and used by an SQL/CLI application to reference that CLI resource
3.1.1.3
inner table
second operand of a left outer join or the first operand of a right outer join
3.1.1.4
pseudo-column
column that is part of a table but is not part of the descriptor for that table
Note 1 to entry: An example of such a pseudo-column is an implementation-defined row identifier.
3.1.1.5
rowset
one or more rows retrieved in a single invocation of the Fetch and FetchScroll routines
3.1.1.6
SQL/CLI application
application that invokes <CLI routine>s specified in this part of ISO/IEC 9075
3.2 Conventions
This Subclause modifies Subclause 3.3, “Conventions”, in ISO/IEC 9075-2.
3.2.1 Specification of routine definitions
The routines in this document are specified in terms of:
- Function : A short statement of the purpose of the routine.
- Definition : The name of the routine and the name, mode, and data type of each of its parameters.
- General Rules : A specification of the run-time effect of the routine. Where more than one General Rule is used to specify the effect of a routine, the required effect is that which would be obtained by beginning with the first General Rule and applying the Rules in numeric sequence until a Rule is applied that specifies or implies a change in sequence or termination of the application of the Rules. Unless otherwise specified or implied by a specific Rule that is applied, application of General Rules terminates when the last in the sequence has been applied.