• 検索結果がありません。

橡j_Oracle_whitepaper.PDF

N/A
N/A
Protected

Academic year: 2021

シェア "橡j_Oracle_whitepaper.PDF"

Copied!
18
0
0

読み込み中.... (全文を見る)

全文

(1)

Pervasive-Oracle

相互運用環境

(2)

概要

小企業から、企業の各部門、あるいは大企業まで、コンピューティング環境全体にアプリケー ションを配布する作業は、現在の企業において最も重大な課題の 1 つになっています。 Pervasive Software は、この課題を解決するソリューション Pervasive-Oracle 相互運用環境を 考案しました。この強力な開発/実行環境によって、アプリケーションを開発した後、Pervasive および Oracle の両データベース製品全体に柔軟かつ透過的にアプリケーションを設置でき ます。 この結果、単一のアプリケーションで、非常に小さな企業あるいはワークグループから、企業 部門、そして大企業全体にまで対応する、シームレスなスケーラビリティを持つことが可能に なります。Pervasive-Oracle 相互運用環境では、あらゆる組織で、業務に不可欠なアプリケー ションを今までにないレベルで簡単かつ柔軟に設置できます。

はじめに

小企業、企業の各部門、大企業のソリューション

今日のコンピューティング環境は、その規模と複雑さにおいて、非常に多様化しています。同 様に、小企業や企業の各部門、大企業全体のいずれの場合でも、非常に多様なアプリケーショ ンを設置することが少なくありません。一例として、小企業や企業部門では通常、パッケージ 化したアプリケーション、つまりインストール時に使用が想定され、カスタマイズがほとんど あるいはまったく必要とされないアプリケーションセットを採用しています。大企業では非常 に洗練された技術サポート機能を持つことが多いため、カスタマイズは現実的なものであり、 広範囲に行われています。小企業では存在しない機能でも、大企業では必須要件として捉えら れることもあり得ます。 独立ソフトウェア ベンダー(ISV)と、独自のソフトウェアを開発する企業にとって、課題 は明確です。異種環境全体でアプリケーションを低コストで効率的に設置する手段が求められ ています。 Pervasive-Oracle 相互運用環境は、この難問に対する真のソリューションを業界で初めて提供 します。ここでいう環境とは、アプリケーションの開発および配置の仕様であり、この仕様に 従うことによって、Pervasive.SQL および Oracle の両インストール全体でアプリケーション を設置することが可能になります。

スケーラビリティの必要性

多くの要因によって、アプリケーションのスケーラビリティが実行要件となり、競争上の優位 をもたらします。特に、以下のことを考慮することが重要です。 • 企業は、各部門および企業全体で設置可能なパッケージ化したアプリケーションを必要と します。 • 拡大する部門および企業は、将来のリソース要求の計画を立てておく必要があります。

(3)

Pervasive-Oracle 相互運用環境

Pervasive-Oracle 相互運用環境では、Pervasive.SQL と Oracle の製品ライン間でのアプリケー ションの可搬性を提供するための標準ベースの機構を定義しています。この機構は、以下の要 素に基づきます。

• データベース接続のための Open Database Connectivity(ODBC)標準

• 標準ベースの SQL 言語方言 ODBC 仕様内の互換性はかなり大きなものですが、異なる ODBC ベンダーの実装間には相互 運用性の問題が一般的に存在します。この開発環境固有の利点の 1 つに、サポートされる API と SQL 言語方言、そしてサポートされない API と SQL 言語方言が正確に特定される ことがあります。これによって、開発者は Pervasive および Oracle の両環境で真に透過的に 実行可能な製品を開発できます。

標準に基づいた ODBC 接続

ODBC 仕様のバージョン 2.5 は広く採用されているため、Pervasive-Oracle 相互運用環境では この ODBC 仕様を使用しています。Core および Level 1 機能のすべてをサポートし、Level 2 機能の大半をサポートしています。付録 A「サポートされる ODBC API」では、サポートさ れる API の全リストを示します。

認証される SQL 言語方言証

Pervasive-Oracle 相互運用環境では、ANSI 92 SQL 標準のかなりの部分を使用します。ODBC バージョン 2.5 仕様では、SQL 構文準拠レベルとして Minimum、Core、Extended の 3 つを 指定しています。Pervasive-Oracle 相互運用環境では、Minimum レベルの SQL 構文をサポー トするとともに、多数の Core および Extended レベルの構文をサポートします。付録 B「サ ポートされる SQL 構文」では、サポートされる全 SQL 構文を示します。

認証される SQL データ型

ODBC バージョン 2.5 仕様では、データ型の標準セットを記述します。付録 C「サポートさ れる SQL データ型」では、サポートされる全データ型と、その精度およびサイズを示します。

将来の拡張

Pervasive-Oracle 相互運用環境は、今回初めてリリースされたものです。このリリースでは、 将来の拡張に向けた標準に基づく基盤を提供しています。将来のリリースでは、この相互運用 環境はさらに強化され、Pervasive および Oracle の両データベース環境で透過的に機能するモ ジュール化したソフトウェア コンポーネントが追加される予定です。 この「ビジネス オブジェクト」は、開発コストをさらに低下させる優れた再使用可能なコン ポーネントになるはずです。 Pervasive-Oracle 相互運用環境の将来のリリースでは、コンピューティング環境のあらゆる領 域で簡単に設置可能なモジュール化したソフトウェア アプリケーション構造へと強化される ことになるでしょう。

(4)

付録 A - ODBC API サポート

以下に、Pervasive-Oracle 相互運用環境でサポートされる ODBC API を示します。ここで 示す準拠レベルは、Microsoft ODBC バージョン 2.5 仕様を基準にしたものです。 ODBC 関数 準拠レベル SQLAllocConnect Core SQLAllocEnv Core SQLAllocStmt Core SQLBindCol Core SQLBindParameter Level 1 SQLBrowseConnect Level 2 SQLCancel Core SQLColAttributes Core SQLColumns Level 1 SQLColumnPrivileges Level 2 SQLConnect Core SQLDataSources Level 2 SQLDescribeCol Core SQLDescribeParam Level 2 SQLDisconnect Core SQLDriverConnect Level 1 SQLDriversd Level 2 SQLError Core SQLExecDirect Core SQLExecute Core SQLFetch Core SQLForeignKeys Level 2 SQLFreeConnect Core SQLFreeEnv Core SQLFreeStmt Core SQLGetConnectOption Level 1 SQLGetCursorName Core SQLGetData Level 1 SQLGetFunctions Level 1 SQLGetInfo Level 1 SQLGetStmtOption Level 1 SQLGetTypeInfo Level 1 SQLMoreResults Level 2 SQLNativeSql Level 2 SQLNumResultCols Core SQLNumParams Level 2 SQLParamData Level 1 SQLPrepare Core SQLPrimaryKeys Level 2 SQLProcedures Level 2 SQLProcedureColumns Level 2 SQLPutData Level 1

(5)

SQLRowCount Core SQLSetConnectOption Level 1 SQLSetCursorName Core SQLSetStmtOption Level 1 SQLSpecialColumns Level 1 SQLStatistics Level 1 SQLTables Level 1 SQLTablePrivileges Level 2 SQLTransact Core

付録 B - SQL 構文のサポート

以下に、Pervasive-Oracle 相互運用環境でサポートされる SQL 構文の概要を示します。全構 文の詳細なドキュメントは、このホワイト ペーパーの付録 E に掲載しています。 以下の表では、SQL コマンドを次の 3 つのカテゴリに分類し、その機能の概要を示します。 • データ定義言語(DDL)コマンド • データ操作言語(DML)コマンド • トランザクション制御コマンド

データ定義言語(DDL)コマンド

データ定義言語(DDL)コマンドでは、以下の処理を実行できます。 • スキーマ オブジェクトの作成、変更、ドロップ • 権限と役割の供与と取り消し 以下の DDL コマンドはサポートされますが、基になるデータベース エンジンの管理面の差 異に起因する制限が存在します。 データ定義言語コマンド ALTER TABLE CREATE INDEX CREATE TABLE CREATE VIEW DROP INDEX DROP TABLE DROP VIEW CREATE PROCEDURE. CREATE TRIGGER DROP PROCEDURE DROP TRIGGER GRANT REVOKE

(6)

データ操作言語(DML)コマンド

データ操作言語(DML)コマンドは、既存のスキーマ オブジェクト内のデータを問い合わせ て操作します。これらのコマンドは、現在のトランザクションを暗黙にコミットしません。 以下の DML コマンドがサポートされます。 サポートされる DML コマンド DELETE INSERT SELECT UPDATE

トランザクション制御コマンド

トランザクション制御コマンドは、アプリケーション トランザクションの実行を管理します。 さらに、トランザクションの失敗処理と復旧処理を管理します。 以下のトランザクション制御コマンドがサポートされます。 サポートされるトランザクション制御 構文 COMMIT ROLLBACK SAVEPOINT

(7)

付録 C - データ型のサポート

以下に、Pervasive-Oracle 相互運用環境でサポートされるデータ型を示します。 データ型(数値) 精度/サイズ SQL_BIT 1 SQL_TINYINT - signed 3 SQL_TINYINT - unsigned 3 SQL_SMALLINT - signed 5 SQL_SMALLINT - unsigned 5 SQL_INTEGER - signed 10 SQL_INTEGER - unsigned 10 SQL_BIGINT - signed 19 SQL_BIGINT - unsigned 20 SQL_DECIMAL 64 SQL_BINARY 255 SQL_VARBINARY 254 SQL_LONGVARBINARY 20 億(∼2G) SQL_FLOAT 7 SQL_REAL 7 SQL_DOUBLE 15 SQL_DATE 10 SQL_TIME 8 SQL_TIMESTAMP 19 SQL_CHAR 255 SQL_VARCHAR 254 SQL_LONGVARCHAR 20 億(∼2G)

付録 D - スカラ関数のサポート

以下に、Pervasive-Oracle 相互運用環境でサポートされ、ODBC でアクセス可能なスカラ 関数の最小限のリストを示します。Pervasive-Oracle 相互運用環境が配布される前に、さら に使用可能な関数が追加され、ドキュメント化される予定です。

(8)

スカラ関数のサポート 数値型 MOD 文字列型 CONCAT LCASE LENGTH LTRIM RTRIM SUBSTRING UCASE タイムスタンプ CURRENT_TIMESTAMP(拡張) 時間 CURTIME システム関数 DATABASE(拡張) IF(拡張) NULL(拡張) USER(拡張) DBNAME USERNAME データ変換 CONVERT

付録 E - Oracle-Pervasive SQL 構文定義の詳細

SQL 構文

ALTER TABLE

ALTER TABLE table-name alter-option-list table-name ::= user-defined-name

alter-option-list ::= alter-option

| ( alter-option [ , alter-option ]… ) alter-option ::= ADD column -definition

| ADD table-constraint-definition

| DROP CONSTRAINT constraint-name [ CASCADE ] | DROP PRIMARY KEY [ CASCADE ]

column -definition ::= column -name data-type [ DEFAULT default-value ] [ column -constraint [ column -constraint ]… ]

(9)

data-type ::= data-type-name [ ( precision [ , scale ] ) ] data-type-name ::= 付録 C のリストを参照 precision ::= integer

scale ::= integer default-value ::= literal

column -constraint ::= [ CONSTRAINT constraint-name ] col-constraint constraint-name ::= user-defined-name

col-constraint ::= NOT NULL | UNIQUE | PRIMARY KEY

| REFERENCES table-name [ ( column -name ) ] [ referential-actions ] referential-actions ::= referential-delete-action

referential-delete-action ::= ON DELETE CASCADE

table-constraint-definition ::= [ CONSTRAINT constraint-name ] table-constraint table-constraint ::= UNIQUE ( column -name [ , column -name ]… )

| PRIMARY KEY ( column -name [ , column -name ]… ) | FOREIGN KEY ( column -name [ , column -name ] )

REFERENCES table-name [ ( column -name [ , column -name ]… ) ] [ referential-actions ]

COMMIT

COMMIT [ WORK ]

CREATE INDEX

CREATE [ UNIQUE ] INDEX index-name ON table-name ( column -name [ ASC | DESC ]

[ , column -name [ ASC | DESC ] ]…) index-name ::= user-defined-name

CREATE PROCEDURE

CREATE PROCEDURE procedure-name ( parameter [ , parameter ]… ) start-proc-stmt

proc-stmt

procedure-name ::= user-defined-name

parameter ::= parameter-name [ IN | OUT | IN_OUT ] data-type parameter-name ::= user-defined-name

(10)

proc-expr ::= 通常の式と同じですが、IF 式あるいは ODBC スタイルのスカラ関数は許容さ れません

start_proc_stmt ::= AS

proc- stmt ::= compound-statement

| CALL procedure-name ( proc-expr [ , proc-expr ]… )

| CASE proc-expr WHEN proc-expr THEN proc-stmt [ ; proc-stmt ]… [ WHEN proc-expr THEN proc-stmt [ ; proc-stmt ]… ]… END CASE | CASE WHEN proc-search-condition THEN proc-stmt [ ; proc-stmt ]… [ WHEN proc-search-condition THEN proc-stmt [ ; proc-stmt ]… ]… END CASE

| cursor-statement

| DECLARE variable-name data-type [ DEFAULT proc-expr ] | delete-statement

| IF proc-search-condition THEN proc-stmt [ ; proc-stmt ]… [ ELSE proc-stmt [ ; proc-stmt ]… ] END IF

| insert-statement | loop-statement | RETURN [ proc-expr ] | transaction-statement | select-statement-with-into | select-statement | assignment-statement | update-statement

compound-statement ::= [ label-name : ] BEGIN [ ATOMIC ]

[ proc-stmt [ ; proc-stmt ]… ] END [ label-name ] label-name ::= user-defined-name

cursor-name ::= user-defined-name variable-name ::= user-defined-name

proc-search-condition ::= 通常の search-condition と同じですが、サブクエリを含む式は許容さ れません

assignment-statement ::= SET variable-name = proc-expr cursor-statement ::= CLOSE cursor-name

| DECLARE cursor-name CURSOR FOR select-statement [ FOR UPDATE | FOR READ ONLY ]

| DELETE WHERE CURRENT OF cursor-name | FETCH cursor-name

[ INTO variable-name [ , variable-name ]… ] | OPEN cursor-name

| UPDATE

SET column -name = proc-expr [ , column -name = proc-expr ]… WHERE CURRENT OF cursor-name

loop-statement ::= [ label-name : ] LOOP proc-stmt [ ; proc-stmt ]… END LOOP [ label-name ] | [ label-name : ] WHILE proc-search-condition

(11)

select-statement-with-into ::= SELECT [ ALL | DISTINCT ] select-list INTO variable-name [ , variable-name ]… FROM table-reference [ , table-reference ]… [ WHERE search-condition ]

[ GROUP BY expression [ , expression ]… [ HAVING search-condition ] ]

CREATE TABLE

CREATE TABLE table-name ( table-element [ , table-element ]… ) table-element ::= column -definition | table-constraint-definition

CREATE TRIGGER

CREATE TRIGGER trigger-name before-or-after ins-upd-del ON table-name [ REFERENCING referencing-alias ] FOR EACH ROW

[ WHEN proc-search-condition ] proc-stmt trigger-name ::= user-defined-name

before-or-after ::= BEFORE | AFTER ins-upd-del ::= INSERT | UPDATE | DELETE

referencing-alias ::= OLD [ AS ] correlation-name [ NEW [ AS ] correlation-name ] | NEW [ AS ] correlation-name [ OLD [ AS ] correlation-name ] correlation-name ::= user-defined-name

CREATE VIEW

CREATE VIEW view-name [ ( column -name [ , column -name ]…) ] AS query-specification view-name ::= user-defined-name

DELETE

DELETE FROM table-name [ WHERE search-condition ]

DROP INDEX

DROP INDEX [ table-name . ] index-name

DROP PROCEDURE

DROP PROCEDURE procedure-name

DROP TABLE

(12)

DROP TRIGGER

DROP TRIGGER trigger-name

DROP VIEW

DROP VIEW view-name

GRANT

GRANT CREATETAB TO public-or-user-group-name [ , public-or-user-group-name ]… GRANT table-privilege ON table-name TO user-or-group-name [ , user-or-group-name ]… table-privilege ::= ALL

| SELECT [ ( column -name [ , column -name ]… ) ] | UPDATE [ ( column -name [ , column -name ]… ) ] | INSERT

| DELETE | ALTER | REFERENCES

public-or-user-group-name ::= PUBLIC | user-group-name user-group-name ::= user-name | group-name

user-name ::= user-defined-name

INSERT

INSERT INTO table-name [ ( column -name [ , column -name ]…) ] insert-values insert-values ::= VALUES ( expression [ , expression ]… )

| query-specification

ROLLBACK

ROLLBACK [ WORK ] [ TO SAVEPOINT savepoint-name ]

SAVEPOINT

SAVEPOINT savepoint-name

SELECT

query-specification [ [ UNION [ ALL ] query-specification ]… [ ORDER BY order-by-expression [ , order-by-expression ]… ] order-by-expression ::= expression [ ASC | DESC ]

(13)

query-specification ::= ( query-specification )

| SELECT [ ALL | DISTINCT ] select-list. FROM table-reference [ , table-reference ]… [ WHERE search-condition ]

[ GROUP BY expression [ , expression ]… [ HAVING search-condition ] ] select-list ::= * | select-item [ , select-item ]…

select-item ::= expression [ [ AS ] alias-name ] | table-name . * table-reference ::= table-name [ [ AS ] alias-name ]

search-condition ::= search-condition AND search-condition | search-condition OR search-condition | NOT search-condition

| ( search-condition ) | predicate

predicate ::= expression [ NOT ] BETWEEN expression AND expression | expression comparison-operator expression-or-subquery | expression [ NOT ] IN ( query-specification )

| expression [ NOT ] IN ( value [ , value ]… ) | expression [ NOT ] LIKE value

| expression IS [ NOT ] NULL

| expression comparison-operator ANY ( query-specification ) | expression comparison-operator ALL ( query-specification ) | expression comparison-operator SOME ( query-specification ) | EXISTS ( query-specification )

comparison-operator ::= < | > | <= | >= | = | <>

expression-or-subquery ::= expression | ( query-specification ) value ::= literal | USER | ?

expression ::= expression – expression | expression + expression | expression * expression | expression / expression | ( expression ) | -expression | +expression | column -name | ? | literal | set-function | scalar-function | { fn scalar-function } | : user-defined-name set-function ::= COUNT (*) | COUNT ( expression ) | SUM ( [ ALL ] expression ) | AVG ( [ ALL ] expression ) | MIN ( [ ALL ] expression ) | MAX ( [ ALL ] expression )

(14)

scalar-function ::= 付録 D のリストを参照

UPDATE

UPDATE table-name SET column -name = expression [ , column -name = expression ]… [ WHERE search-condition ]

構文要素の定義

以下に、上記の構文の記述で使用した要素の定義をアルファベット順に示します。

alter-option ::= ADD column -definition

| ADD table-constraint-definition

| DROP CONSTRAINT constraint-name [ CASCADE ] | DROP PRIMARY KEY [ CASCADE ]

alter-option-list ::= alter-option

| ( alter-option [ , alter-option ]… ) assignment-statement ::= SET variable-name = proc-expr before-or-after ::= BEFORE | AFTER

col-constraint ::= NOT NULL | UNIQUE | PRIMARY KEY

| REFERENCES table-name [ ( column -name ) ] [ referential-actions ] column -constraint ::= [ CONSTRAINT constraint-name ] col-constraint

column -definition ::= column -name data-type [ DEFAULT default-value ] [ column -constraint [ column -constraint ]… ]

column -name ::= user-defined-name comparison-operator ::= < | > | <= | >= | = | <>

compound-statement ::= [ label-name : ] BEGIN [ ATOMIC ]

[ proc-stmt [ ; proc-stmt ]… ] END [ label-name ] constraint-name ::= user-defined-name

correlation-name ::= user-defined-name cursor-name ::= user-defined-name

(15)

cursor-statement ::= CLOSE cursor-name

| DECLARE cursor-name CURSOR FOR select-statement [ FOR UPDATE | FOR READ ONLY ]

| DELETE WHERE CURRENT OF cursor-name | FETCH cursor-name

[ INTO variable-name [ , variable-name ]… ] | OPEN cursor-name

| UPDATE

SET column -name = proc-expr [ , column -name = proc-expr ]… WHERE CURRENT OF cursor-name

data-type ::= data-type-name [ ( precision [ , scale ] ) ] data-type-name ::= 付録 C のリストを参照 default-value ::= literal

expression ::= expression – expression | expression + expression | expression * expression | expression / expression | ( expression ) | -expression | +expression | column -name | ? | literal | set-function | scalar-function | { fn scalar-function } | : user-defined-name

expression-or-subquery ::= expression | ( query-specification ) index-name ::= user-defined-name

ins-upd-del ::= INSERT | UPDATE | DELETE

insert-values ::= VALUES ( expression [ , expression ]… ) | query-specification

label-name ::= user-defined-name

loop-statement ::= [ label-name : ] LOOP proc-stmt [ ; proc-stmt ]… END LOOP [ label-name ] | [ label-name : ] WHILE proc-search-condition

DO [ proc-stmt [ ; proc-stmt ] ]… END WHILE [ label-name ] order-by-expression ::= expression [ ASC | DESC ]

parameter ::= parameter-name [ IN | OUT | IN_OUT ] data-type parameter-name ::= user-defined-name

(16)

precision ::= integer

predicate ::= expression [ NOT ] BETWEEN expression AND expression | expression comparison-operator expression-or-subquery | expression [ NOT ] IN ( query-specification )

| expression [ NOT ] IN ( value [ , value ]… ) | expression [ NOT ] LIKE value

| expression IS [ NOT ] NULL.

| expression comparison-operator ANY ( query-specification ) | expression comparison-operator ALL ( query-specification ) | expression comparison-operator SOME ( query-specification ) | EXISTS ( query-specification )

proc-expr ::= 通常の式と同じですが、IF 式あるいは ODBC スタイルのスカラ関数は許容さ れません

proc-search-condition ::= 通常の search-condition と同じですが、サブクエリを含む式は許容さ れません

proc- stmt ::= compound-statement

| CALL procedure-name ( proc-expr [ , proc-expr ]… )

| CASE proc-expr WHEN proc-expr THEN proc-stmt [ ; proc-stmt ]… [ WHEN proc-expr THEN proc-stmt [ ; proc-stmt ]… ]… END CASE | CASE WHEN proc-search-condition THEN proc-stmt [ ; proc-stmt ]… [ WHEN proc-search-condition THEN proc-stmt [ ; proc-stmt ]… ]… END CASE

| cursor-statement

| DECLARE variable-name data-type [ DEFAULT proc-expr ] | delete-statement

| IF proc-search-condition THEN proc-stmt [ ; proc-stmt ]… [ ELSE proc-stmt [ ; proc-stmt ]… ] END IF

| insert-statement | loop-statement | RETURN [ proc-expr ] | transaction-statement | select-statement-with-into | select-statement | assignment-statement | update-statement procedure-name ::= user-defined-name

public-or-user-group-name ::= PUBLIC | user-group-name query-specification ::= ( query-specification )

| SELECT [ ALL | DISTINCT ] select-list FROM table-reference [ , table-reference ]… [ WHERE search-condition ]

[ GROUP BY expression [ , expression ]… [ HAVING search-condition ] ]

referencing-alias ::= OLD [ AS ] correlation-name [ NEW [ AS ] correlation-name ] | NEW [ AS ] correlation-name [ OLD [ AS ] correlation-name ]

(17)

referential-actions ::= referential-delete-action referential-delete-action ::= ON DELETE CASCADE

scalar-function ::= 付録 D のリストを参照 scale ::= integer

search-condition ::= search-condition AND search-condition | search-condition OR search-condition | NOT search-condition

| ( search-condition ) | predicate

select-item ::= expression [ [ AS ] alias-name ] | table-name . * select-list ::= * | select-item [ , select-item ]…

select-statement-with-into ::= SELECT [ ALL | DISTINCT ] select-list

INTO variable-name [ , variable-name ]… FROM table-reference [ , table-reference ]… [ WHERE search-condition ]

[ GROUP BY expression [ , expression ]… [ HAVING search-condition ] ]

set-function ::= COUNT (*)

| COUNT ( expression ) | SUM ( [ ALL ] expression ) | AVG ( [ ALL ] expression ) | MIN ( [ ALL ] expression ) | MAX ( [ ALL ] expression ) start_proc_stmt ::= AS

table-constraint ::= UNIQUE ( column -name [ , column -name ]… )

| PRIMARY KEY ( column -name [ , column -name ]… ) | FOREIGN KEY ( column -name [ , column -name ] )

REFERENCES table-name [ ( column -name [ , column -name ]… ) ] [ referential-actions ]

table-constraint-definition ::= [ CONSTRAINT constraint-name ] table-constraint table-element ::= column -definition | table-constraint-definition

table-name ::= user-defined-name table-privilege ::= ALL

| SELECT [ ( column -name [ , column -name ]… ) ] | UPDATE [ ( column -name [ , column -name ]… ) ] | INSERT

| DELETE | ALTER | REFERENCES

(18)

table-reference ::= table-name [ [ AS ] alias-name ] trigger-name ::= user-defined-name

user-group-name ::= user-name user-name ::= user-defined-name value ::= literal | USER | ?

variable-name ::= user-defined-name. view-name ::= user-defined-name

参照

関連したドキュメント

Bluetooth® Low Energy プロトコルスタック GUI ツールは、Microsoft Visual Studio 2012 でビルドされた C++アプリケーションです。GUI

えて リア 会を設 したのです そして、 リア で 会を開 して、そこに 者を 込 ような仕 けをしました そして 会を必 開 して、オブザーバーにも必 の けをし ます

ASTM E2500-07 ISPE は、2005 年初頭、FDA から奨励され、設備や施設が意図された使用に適しているこ

で実施されるプロジェクトを除き、スコープ対象外とすることを発表した。また、同様に WWF が主導し運営される Gold

基準の電力は,原則として次のいずれかを基準として決定するも

また、 NO 2 の環境基準は、 「1時間値の1 日平均値が 0.04ppm から 0.06ppm までの ゾーン内又はそれ以下であること。」です

№3 の 3 か所において、№3 において現況において環境基準を上回っている場所でございま した。ですので、№3 においては騒音レベルの増加が、昼間で

以上の基準を仮に想定し得るが︑おそらくこの基準によっても︑小売市場事件は合憲と考えることができよう︒