Return-Path: Delivered-To: apmail-db-derby-commits-archive@www.apache.org Received: (qmail 67028 invoked from network); 5 Jan 2008 08:27:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 5 Jan 2008 08:27:31 -0000 Received: (qmail 36579 invoked by uid 500); 5 Jan 2008 08:27:20 -0000 Delivered-To: apmail-db-derby-commits-archive@db.apache.org Received: (qmail 36551 invoked by uid 500); 5 Jan 2008 08:27:20 -0000 Mailing-List: contact derby-commits-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: "Derby Development" List-Id: Delivered-To: mailing list derby-commits@db.apache.org Received: (qmail 36540 invoked by uid 99); 5 Jan 2008 08:27:20 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 05 Jan 2008 00:27:20 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 05 Jan 2008 08:27:03 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C31131A9864; Sat, 5 Jan 2008 00:26:21 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r609101 [25/26] - in /db/derby/docs/trunk: ./ src/ja_JP/ src/ja_JP/ref/ Date: Sat, 05 Jan 2008 08:25:38 -0000 To: derby-commits@db.apache.org From: tmnk@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080105082621.C31131A9864@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Added: db/derby/docs/trunk/src/ja_JP/ref/rrefsqljrenamecolumnstatement.dita URL: http://svn.apache.org/viewvc/db/derby/docs/trunk/src/ja_JP/ref/rrefsqljrenamecolumnstatement.dita?rev=609101&view=auto ============================================================================== --- db/derby/docs/trunk/src/ja_JP/ref/rrefsqljrenamecolumnstatement.dita (added) +++ db/derby/docs/trunk/src/ja_JP/ref/rrefsqljrenamecolumnstatement.dita Sat Jan 5 00:25:17 2008 @@ -0,0 +1,59 @@ + + + + + RENAME COLUMN 文 +RENAME COLUMN 文で表にある列の名前を変更できます。 + +RENAME COLUMN statement +SQL statementsRENAME COLUMN +columnsrenaming + + + +

RENAME COLUMN文により全てのスキーマにある既存表の既存列の名前を変更できます。(SYSのスキーマを除きます。)

+

列の名前を変えることができるのは、データベースの所有者あるいは表の所有者のみです。

+

表への他の定義変更は可能です。詳細は、を参照してください。

+
+構文 + RENAME COLUMN 表名.単純列名 TO 単純列名 + + +例 +

employeeという表にあるmanagerという列の名前を +supervisorに変更するには次のようにします。 +RENAME COLUMN EMPLOYEE.MANAGER TO SUPERVISOR +

+

ALTER TABLEとRENAME COLUMNを使って、列のデータ型を変更できます。 +tという表にあるc1という列のデータ型をNEWTYPEに変更するためには、次のようにします。 + + ALTER TABLE t ADD COLUMN c1_newtype NEWTYPE + UPDATE t SET c1_newtype = c1 + ALTER TABLE t DROP COLUMN c1 + RENAME COLUMN t.c1_newtype TO c1 +

+
+
利用上の留意点 +列を参照するビューやトリガ、チェック制約、外部キー制約がある場合、列名の変更は失敗します。 + +名称を変更する列を参照する、開いたカーソルがある場合、RENAME COLUMN文は実行できません。 +列への索引があっても、列の名前は変更できます。索引は更新されて、変更後の列名で参照するようになります。 +
+
+
Propchange: db/derby/docs/trunk/src/ja_JP/ref/rrefsqljrenamecolumnstatement.dita ------------------------------------------------------------------------------ svn:svn:eol-style = native Added: db/derby/docs/trunk/src/ja_JP/ref/rrefsqljrenametablestatement.dita URL: http://svn.apache.org/viewvc/db/derby/docs/trunk/src/ja_JP/ref/rrefsqljrenametablestatement.dita?rev=609101&view=auto ============================================================================== --- db/derby/docs/trunk/src/ja_JP/ref/rrefsqljrenametablestatement.dita (added) +++ db/derby/docs/trunk/src/ja_JP/ref/rrefsqljrenametablestatement.dita Sat Jan 5 00:25:17 2008 @@ -0,0 +1,40 @@ + + + + +RENAME TABLE 文 + +RENAME TABLE statementSQL +statementsRENAME TABLEtablesrenaming + + + +

RENAME TABLEによりあらゆるスキーマにある既存の表の名前を変更できます。(ただしSYSのスキーマは除きます。)

+

表の名前を変更できるのはデータベースの所有者と表の所有者です。

+構文 RENAME TABLE 表名 TO 新表名 +

表を参照するビューや外部キーがあった場合、名前を変えようとするとエラーが発生します。 +さらに、表にトリガやチェック制約があった場合も、名前を変えようとするとエラーが発生します。

+ RENAME TABLE SAMP.EMP_ACT TO EMPLOYEE_ACT +

詳細については、も参照してください。

+
文の依存 +

表に索引が定義されていても、表の名前は変更可能です。

+

名前を変更しようとする表に、開いたカーソルがあった場合、RENAME TABLE文は失敗します。

+
+
Propchange: db/derby/docs/trunk/src/ja_JP/ref/rrefsqljrenametablestatement.dita ------------------------------------------------------------------------------ svn:svn:eol-style = native Added: db/derby/docs/trunk/src/ja_JP/ref/rrefsqljrevoke.dita URL: http://svn.apache.org/viewvc/db/derby/docs/trunk/src/ja_JP/ref/rrefsqljrevoke.dita?rev=609101&view=auto ============================================================================== --- db/derby/docs/trunk/src/ja_JP/ref/rrefsqljrevoke.dita (added) +++ db/derby/docs/trunk/src/ja_JP/ref/rrefsqljrevoke.dita Sat Jan 5 00:25:17 2008 @@ -0,0 +1,106 @@ + + + + + +REVOKE 文 +REVOKE文を使って、指定したユーザあるいは全ユーザから、データベースの情報に対して操作を行う権限を剥奪することができます。 + +REVOKE statementsyntax +SQL statementsREVOKEREVOKE +statementlimitationsprivilegestables +and columns, revoking + + +

剥奪できる権限には次の種類があります。

    +
  • 表から情報を削除する。
  • +
  • 表に情報を挿入する。
  • +
  • 表や表にある列の部分集合に対して、外部キー参照を作成する。
  • +
  • 表やビュー、表の列の部分集合から、情報を選択する。
  • +
  • 表にトリガを作成する
  • +
  • 表や表にある列の部分集合にある情報を更新する。
  • +
  • 関数や手続きなどのプログラムルーチンを実行する。
  • +

REVOKE文を発行する前に、derby.database.sqlAuthorization属性がtrueであることを確認してください。derby.database.sqlAuthorization属性により、SQL認証が有効になります。

+

情報の所有者かデータベースの所有者であれば、その情報への権限を剥奪する事ができます。

+

REVOKE文の使い方は、表への権限を剥奪するのか、プログラムルーチンへの権限を剥奪するのかにより異なります。

+
表の場合の使い方 +REVOKE 権限タイプ ON [ TABLE ] { | } FROM 権限を与えられていた人

列の一覧を指定せずに権限を剥奪した場合、表の全ての列への権限が剥奪されます。

+
プログラムルーチンの場合の使い方REVOKE EXECUTE ON { FUNCTION | PROCEDURE } プログラムルーチンの指示子 FROM 権限を与えられていた人 RESTRICT

プログラムルーチンにREVOKE文を使う場合、RESTRICT節が必要です。RESTRICT節は、実行権限がビューや表、制約からは剥奪されない一方で、ビューや表、制約の所有者からは剥奪されることを表します。

+
権限タイプALL PRIVILEGES | + 各種権限
+
各種権限 +表権限 {, 表権限 }*
+
表権限 DELETE | + INSERT | + REFERENCES [列一覧] | + SELECT [列一覧] | + TRIGGER | + UPDATE [列一覧]
+
列一覧 ( 列識別子 {, 列識別子}* )

権限タイプのALL PRIVILEGESは、表への全ての権限をユーザから剥奪する時に使います。各種権限を指定して、表への一つ以上の権限を剥奪することもできます。

+

DELETEの権限タイプは、表の行を削除する権限を剥奪するために使います。

+

INSERTの権限タイプは、表に行を挿入する権限を剥奪するために使います。

+

REFERENCESの権限タイプは、表への外部キー参照を作成する権限を剥奪するために使います。列一覧が指定された場合、その列群への外部キー参照を作成する権限だけが剥奪されます。

+

SELECTの権限タイプは、表またはビューの情報を選択する権限を剥奪するときに使います。列一覧が指定された場合、その列群への権限だけが剥奪されます。列一覧が指定されなかった場合、表の全列に対して操作が有効です。

+

TRIGGERの権限タイプは、表にトリガを作成する権限を剥奪するとめに使います。

+

UPDATEの権限タイプは、表にUPDATE文を実行する権限を剥奪するために使います。列一覧が指定された場合、その列群への権限だけが剥奪されます。

+
権限を与えられていた人{ 認証識別子 | PUBLIC } [,{ authorization ID | PUBLIC } ] * +

指定したユーザあるいは全ユーザから、権限の剥奪を行うことができます。全ユーザを指定するときは、PUBLICというキーワードを使います。PUBLICで剥奪される権限と、ユーザを指定して剥奪される権限は独立した物です。例を挙げましょう。表tへのSELECT権限が、PUBLICとharryという認証識別子の両方に与えられているとします。 +ここで、harryという認証識別子からSELECT権限が剥奪されたとしても、harryという認証識別子はPUBLIC権限を通して、表tを操作可能です。

+情報の所有者の権限を剥奪することはできません。
+
プログラムルーチンの指示子 { + qualified-name [ signature ] + }
+
剥奪された権限に連なる依存関係 +

剥奪された権限に依存しているビューやトリガ、制約等は自動的に削除されます。このとき は、剥奪された権限を他の権限で代替しようとしません。詳しくは、Derby Developer's Guideの"SQL standard authorization"を参照してください。

+ + +
制限事項

REVOKE文には次の制限事項があります。

+
+
表毎の権限に関連した権限
+
表毎の権限に対応して、SYSTABLEPERMSシステム表に表IDと権限の付与先が記録されます。たとえば、user2に、表user1.t1のSELECTとDELETEの権限が付与された場合、SYSTABLEPERMS表には対応した行がひとつ追加されます。この行にのGRANTEE欄はuser2という値をとって、TABLEID欄はuser1.t1という値をとります。さらにSELECTPRIVとDELETEPRIVのそれぞれの欄の値はYをとります。それ以外の権限に対応した欄の 値はNです。

権限を付与されたユーザが表へのいずれかの権限を必要とする情報をデータベースに作成すると、 のエンジンは、その情報がSYSTABLEPERMSにある特定の行へ依存していることを理解します。 +例えば、user2がSELECT * FROM +user1.t1という文でv1というビューを作成すると、ビューのv1と、GRANTEE欄がuser2でTABLEID欄がuser1.t1であるSYSTABLEPERMSの行との間に、管理対象となる依存関係があるとプログラムは理解します。ここで、プログラムはビューが特定の行に依存していることを理解しますが、その行にある権限に対応した欄のうち、どの欄に依存しているのかは理解していません。

+

そのせいで、表毎の権限を剥奪するREVOKE文が発行されると、その権限と同じ表IDとユーザの組み合わせを持つ権限に依存したデータベース上の情報は全て削除されてしまいます。例で説明すると、user1がuser2から表t1のDELETE権限を剥奪すると、SYSTABLEPERMS表のGRANTEE欄にuser2をとりTABLEID欄にuser1.t1をとる行がREVOKE文により更新されます。このとき依存関係の管理機能に� �‚ˆã‚Šã€ãã®è¡Œã«è¨˜éŒ²ã•ã‚ŒãŸDELETE権限には依存していないにもかかわらず、権限の剥奪による無効化のメッセージがuser2.v1にも送信されるので、このビューは削除されてしまいます。

+
+
列毎の権限に関連した制限
+
SYSCOLPERMSシステム表の行毎に、権限の付与先と表IDの組み合わせに許可された権限をひとつだけ記録することができます。たとえば、user2に表user1.t1にあるc12とc13という列のSELECT権限が与えられた場合、SYSCOLPERMSには行がひとつ追加されます。この行はGRANTEE欄の値にuser2をとり、TABLEID欄の値にuser1.t1をとり、TYPE欄の値にSをとり、COLUMNS欄の値にはc12, c13をとります。 +

表の列の集合に権限を付与されたユーザが、その権限に依存した情報をデータベースに作成した場合、は、その情報とSYSCOLPERMS表の対応した行の間の依存関係を理解して管理下に起きます。例えばuser2がSELECT c11 FROM user1.t1という文により、v1という行を作成すると、プログラムはGRANTEE欄がuser2でTABLEID欄がuser1.t1、TYPE欄がSであるSYSCOLPERMS表の行に、v1が依存することを理解して、その依存関係を管理下に置きます。このとき、プログラムはビューがSELECT権限に依存することは理解しますが、ビューがどのカラムに依存しているかは追跡しません。

+

REVOKE文がカラムごとの権限に対して発行されると、その権限の権限付与先、テーブルID、権限の種類に依存したデータベース上の情報が削除されます。例で説明すると、user1がuser2から、表user1.t1の列c12へのSELECT権限を剥奪すると、GRANTEE欄がuser2でTABLEIDがuser1.t1、TYPE欄がSのSYSCOLPERMSにある行が、REVOKE文により更新されます。このとき依存関係の管理機能により、c12 という列には依存していないにもかかわらず、権限の剥奪による無効化のメッセージがuser2.v1というビューにも送信されるので、このビューは削除されてしまいます。

+
+ + + 権限剥奪の例

表tへのSELECT権限を、mariaとharryという認証識別子から剥奪する場合、次のように文を書きます。REVOKE SELECT ON TABLE t FROM maria,harry

+ +

表tへのUPDATE、TRIGGER権限をanitaとzhiという認証識別子から剥奪する場合、次のように文を書きます。REVOKE UPDATE, TRIGGER ON TABLE t FROM anita,zhi

+ +

表s.vへのSELECT権限を全ユーザから剥奪する場合、次のように文を書きます。REVOKE SELECT ON TABLE s.v FROM PUBLIC

+ +

表s.vのc1とc2という列へのUPDATE権限を全てのユーザから剥奪する場合、次のように文を書きます。REVOKE UPDATE (c1,c2) ON TABLE s.v FROM PUBLIC

+ +

pという手続きへのEXECUTE権限を、georgeという認証識別子から剥奪する場合、次のように文を書きます。

REVOKE EXECUTE ON PROCEDURE p FROM george RESTRICT
+
+
Propchange: db/derby/docs/trunk/src/ja_JP/ref/rrefsqljrevoke.dita ------------------------------------------------------------------------------ svn:svn:eol-style = native Added: db/derby/docs/trunk/src/ja_JP/ref/rrefsqljtfinvoke.dita URL: http://svn.apache.org/viewvc/db/derby/docs/trunk/src/ja_JP/ref/rrefsqljtfinvoke.dita?rev=609101&view=auto ============================================================================== --- db/derby/docs/trunk/src/ja_JP/ref/rrefsqljtfinvoke.dita (added) +++ db/derby/docs/trunk/src/ja_JP/ref/rrefsqljtfinvoke.dita Sat Jan 5 00:25:17 2008 @@ -0,0 +1,43 @@ + + + + + +表関数の呼び出し + + + +TABLE 関数名( [ [ 関数の引数 ] [, 関数の引数 ]* ] ) + + +
+

+但し書き 表関数を呼び出すときは、相関名を割り当てる必要があります。例を挙げます。 +

+
+ + + + +SELECT s.* +FROM TABLE( externalEmployees( 42 ) ) s + + +
+
Propchange: db/derby/docs/trunk/src/ja_JP/ref/rrefsqljtfinvoke.dita ------------------------------------------------------------------------------ svn:svn:eol-style = native Added: db/derby/docs/trunk/src/ja_JP/ref/rrefsqljtypexml.dita URL: http://svn.apache.org/viewvc/db/derby/docs/trunk/src/ja_JP/ref/rrefsqljtypexml.dita?rev=609101&view=auto ============================================================================== --- db/derby/docs/trunk/src/ja_JP/ref/rrefsqljtypexml.dita (added) +++ db/derby/docs/trunk/src/ja_JP/ref/rrefsqljtypexml.dita Sat Jan 5 00:25:17 2008 @@ -0,0 +1,49 @@ + + + + + +XML data type +The XML data type is used for Extensible Markup Language (XML) +documents. + +XML data type + + +

XMLデータ型は以下のように使います。

    +
  • SQL/XMLに定義された、整形されたXML(DOCUMENT(ANY))の値を記録する。
  • +
  • 一時的に整形されたXML(DOCUMENT(ANY))の値ではない、XML(SEQUENCE)の値を扱う。
  • +

XMLデータの値を、取得・更新・問合せ等、何らかの方法で操作するアプリケーションでは、JAXP構文解析器とXalanのクラスをクラスパスに持たなければなりません。もし、構文解析器・Xalanの何れかが見つからなければ、はエラーを発行します。 +

ではJDBCにて、SQL/XMLを扱う機能が実装されていないので、XMLの値を直接バインドしたり、JDBCの結果セットから直接XMLの値を取得することは不可能です。 +その代わりに、XMLPARSEやXMLSERIALIZE等の適切なXMLの演算子を明示的にSQLに書いて、XMLの情報をJavaの文字列や文字のストリームとして、バインドしたり取得する必要があります。

+構文XML +
対応するコンパイル時のJavaの型

無し

+

XMLの値に対応するJavaの型のjava.sql.SQLXMLは存在します。しかし、java.sql.SQLXML型はにてサポートされていません。

+
JDBC メタデータ型 (java.sql.Types)

無し

+

XMLの値に対応するメタデータ型のSQLXMLは存在します。しかし、SQLXMLはにてサポートされていません。

+

のデータベースからXMLの値を取得するときには、問合せのSQLにてXMLSERIALIZE演算子を使ってください。 +例を挙げます。SELECT XMLSERIALIZE (xcol as CLOB) FROM myXmlTable こうすることで、直列化した型に対応するgetXXXメソッドを使って、XMLの値を、取得することができます。この例ではCLOB型となります。

+

のデータベースにJDBCを使ってXMLの値を記録するときは、SQL文にてXMLPARSE演算子を使ってください。 +例を挙げます。INSERT INTO myXmlTable(xcol) VALUES XMLPARSE( + DOCUMENT CAST (? AS CLOB) PRESERVE WHITESPACE) +そして、文字列の型と互換性のあるsetXXXメソッドを使ってください。 +この例ではPreparedStatement.setStringまたはPreparedStatement.setCharacterStreamメソッドを使って、演算子に値を与えます。

+
+
Propchange: db/derby/docs/trunk/src/ja_JP/ref/rrefsqljtypexml.dita ------------------------------------------------------------------------------ svn:svn:eol-style = native Added: db/derby/docs/trunk/src/ja_JP/ref/rrefstringlimits.dita URL: http://svn.apache.org/viewvc/db/derby/docs/trunk/src/ja_JP/ref/rrefstringlimits.dita?rev=609101&view=auto ============================================================================== --- db/derby/docs/trunk/src/ja_JP/ref/rrefstringlimits.dita (added) +++ db/derby/docs/trunk/src/ja_JP/ref/rrefstringlimits.dita Sat Jan 5 00:25:17 2008 @@ -0,0 +1,80 @@ + + + + + +並びの制限 + +文字列の制限 +以下の表に、における並びの値の制限を記します。 + + + + +値 +上限 + + + + +CHARの長さ +254文字 + + +VARCHARの長さ +32,672文字 + + +LONG VARCHARの長さ +32,700文字 + + +CLOBの長さ +2,147,483,647文字 + + +BLOBの長さ +2,147,483,647文字 + + +文字定数の長さ +32,672 + + +結合された文字列の長さ +2,147,483,647 + + +バイナリ並びの長さ +2,147,483,647 + + +16進整数の定数 +16,336 + + +DOUBLEの定数の長さ +30 characters + + + +
+
+
+ Propchange: db/derby/docs/trunk/src/ja_JP/ref/rrefstringlimits.dita ------------------------------------------------------------------------------ svn:svn:eol-style = native Added: db/derby/docs/trunk/src/ja_JP/ref/rrefsynonymname.dita URL: http://svn.apache.org/viewvc/db/derby/docs/trunk/src/ja_JP/ref/rrefsynonymname.dita?rev=609101&view=auto ============================================================================== --- db/derby/docs/trunk/src/ja_JP/ref/rrefsynonymname.dita (added) +++ db/derby/docs/trunk/src/ja_JP/ref/rrefsynonymname.dita Sat Jan 5 00:25:17 2008 @@ -0,0 +1,28 @@ + + + + +別名 + +

表やビューは別名であらわす事ができます。 +別名はスキーマ名で限定することができます。

+
構文 [ スキーマ名. ] SQL92識別子
+
+
Propchange: db/derby/docs/trunk/src/ja_JP/ref/rrefsynonymname.dita ------------------------------------------------------------------------------ svn:svn:eol-style = native Added: db/derby/docs/trunk/src/ja_JP/ref/rrefsyscschecktablefunc.dita URL: http://svn.apache.org/viewvc/db/derby/docs/trunk/src/ja_JP/ref/rrefsyscschecktablefunc.dita?rev=609101&view=auto ============================================================================== --- db/derby/docs/trunk/src/ja_JP/ref/rrefsyscschecktablefunc.dita (added) +++ db/derby/docs/trunk/src/ja_JP/ref/rrefsyscschecktablefunc.dita Sat Jan 5 00:25:17 2008 @@ -0,0 +1,32 @@ + + + + + +SYSCS_UTIL.SYSCS_CHECK_TABLEシステム関数 + +
+

SYSCS_UTIL.SYSCS_CHECK_TABLE関数は引数に指定した表を検証して、その全ての索引と整合が取れていることを確かめます。もし表と索引が整合していれば、メソッドはSMALLINTの1を返します。 +もし表と索引が不整合であれば、関数は例外を挙げます。

+
構文 SMALLINT SYSCS_UTIL.SYSCS_CHECK_TABLE(IN SCHEMANAME VARCHAR(128), +IN TABLENAME VARCHAR(128))

SCHEMANAMEもしくはTABLENAMEがnullである場合、エラーが発生します。

+
例 VALUES SYSCS_UTIL.SYSCS_CHECK_TABLE('SALES', 'ORDERS');
+
+
+ Propchange: db/derby/docs/trunk/src/ja_JP/ref/rrefsyscschecktablefunc.dita ------------------------------------------------------------------------------ svn:svn:eol-style = native Added: db/derby/docs/trunk/src/ja_JP/ref/rrefsyscsdiagtables.dita URL: http://svn.apache.org/viewvc/db/derby/docs/trunk/src/ja_JP/ref/rrefsyscsdiagtables.dita?rev=609101&view=auto ============================================================================== --- db/derby/docs/trunk/src/ja_JP/ref/rrefsyscsdiagtables.dita (added) +++ db/derby/docs/trunk/src/ja_JP/ref/rrefsyscsdiagtables.dita Sat Jan 5 00:25:17 2008 @@ -0,0 +1,160 @@ + + + + + +SYSCS_DIAG 診断表および関数 +にはシステム表式が用意されており、データベースの状態やデータベースへの接続の診断情報を取得できます。 + +diagnostic table functionsSYSCS_DIAG.ERROR_LOG_READER +SYSCS_DIAG.ERROR_LOG_READER diagnostic table function +diagnostic tablesSYSCS_DIAG.ERROR_MESSAGES +SYSCS_DIAG.ERROR_MESSAGES diagnostic tablediagnostic +table functionsSYSCS_DIAG.LOCK_TABLESYSCS_DIAG.LOCK_TABLE +diagnostic tablediagnostic table functionsSYSCS_DIAG.SPACE_TABLE +SYSCS_DIAG.SPACE_TABLE diagnostic table functiondiagnostic +tablesSYSCS_DIAG.STATEMENT_CACHESYSCS_DIAG.STATEMENT_CACHE +diagnostic tablediagnostic table functionsSYSCS_DIAG.STATEMENT_DURATION +SYSCS_DIAG.STATEMENT_DURATION diagnostic table functions +diagnostic tablesSYSCS_DIAG.TRANSACTION_TABLE +SYSCS_DIAG.TRANSACTION_TABLE diagnostic table + + +

には二種類の診断表式があります。

+ +
診断表
+
の一般的な表と同様なものです。 +表名を置くことができる場所ならどこにでも診断表の名前をおけます。
+
+
診断表関数
+
の一般的な関数と同様なものです。診断表関数には関数に応じて、0あるいはそれ以上の引数を取ることができます。SQLに定義された表関数の構文に基づき、これらの関数を使う必要があります。
+

+

以下の表にはの診断表式の名称と種類を記します。

+<ph conref="../conrefs.dita#prod/productshortname"></ph>のシステム診断表式 + + + +診断表式 +式の種類 + + + + +SYSCS_DIAG.ERROR_LOG_READER +表関数 + + +SYSCS_DIAG.ERROR_MESSAGES +表 + + +SYSCS_DIAG.LOCK_TABLE +表 + + +SYSCS_DIAG.SPACE_TABLE +表関数 + + +SYSCS_DIAG.STATEMENT_CACHE +表 + + +SYSCS_DIAG.STATEMENT_DURATION +表関数 + + +SYSCS_DIAG.TRANSACTION_TABLE +表 + + + +

DDLや圧縮の手続きにて診断表を参照した場合、は例外を返します。

+
SYSCS_DIAG.ERROR_LOG_READER 診断表関数 +

SYSCS_DIAG.ERROR_LOG_READER診断表関数からは、derby.logファイルや指定した任意のログファイルにある全てのSQL文が得られます。

+

この診断表関数を使うことで、活動中のトランザクションおよび任意の時点のトランザクションを知ることができます。たとえばデッドロックやロックの時間切れが発生した場合、エラーログからタイムスタンプ(timestampConstant)を見つけることができます。

+

SYSCS_DIAG.ERROR_LOG_READER診断表関数を使うには、SQL表関数の構文に基づく必要があります。

+

例を挙げます。:SELECT * + FROM TABLE (SYSCS_DIAG.ERROR_LOG_READER()) + AS T1 +ここでT1はユーザが指定した表の名前で、これは任意の識別子です。

+

SYSCS_DIAG.ERROR_LOG_READER診断表関数には、随意で指定する引数としてログファイルの名前を与えることができます。ログファイルの名前を指定する場合、ファイル名はJavaで文字列とみなせる式でなければなりません。

+

For example:SELECT * + FROM TABLE (SYSCS_DIAG.ERROR_LOG_READER('myderbyerrors.log')) + AS T1

+

既定ではのログファイルには起動、終了、エラーメッセージしかありません。 +より詳細な情報をのログファイルに出力する方法は、ガイドのderby.stream.error.logSeverityLevel属性と、derby.language.logStatementText属性を読んでください。

+
SYSCS_DIAG.ERROR_MESSAGES 診断表 +

SYSCS_DIAG.ERROR_MESSAGES診断表には、全てのSQLState、地域に対応したエラーメッセージ、 +データベースでの例外深刻度が記述されます。 +文にて直接にSYSCS_DIAG.ERROR_MESSAGES診断表を参照することができます。

+

例を挙げます。SELECT * FROM SYSCS_DIAG.ERROR_MESSAGES

+
SYSCS_DIAG.LOCK_TABLE 診断表 +

SYSCS_DIAG.LOCK_TABLE診断表には、現在時点のデータベースの全ロックが記述されます。 +SYSCS_DIAG.LOCK_TABLE診断表は文にて直接参照することができます。

+

例を挙げます。SELECT * FROM SYSCS_DIAG.LOCK_TABLE

+

SYSCS_DIAG.LOCK_TABLE診断表が文にて参照される場合、表のロックのスナップショットが撮られます。 +このスナップショットは診断表を参照しても、アプリケーションの通常処理時間や処理の流れに影響が出ないように用意されるものです。 +このスナップショットが撮られる時、ロックが状態遷移中である可能性があります。

+
SYSCS_DIAG.SPACE_TABLE 診断表関数 +

SYSCS_DIAG.SPACE_TABLE診断表関数では、指定した表とその索引が利用している領域を表示できます。 +この診断表関数により表や索引を圧縮することで、どれだけ領域を節約できるか知ることができます。

+

SYSCS_DIAG.SPACE_TABLE診断表関数を使うには、SQL表関数の構文に従う必要があります。 +この診断表関数は二つの引数をとります。スキーマ名と表名です。 +表名は必須です。スキーマ名を指定しなかった場合、現在のスキーマが適用されます。

+

たとえば以下の問い合わせでは、データベースにある全ユーザ表と索引の利用する領域を返します。SELECT T2.* + FROM + SYS.SYSTABLES systabs, + TABLE (SYSCS_DIAG.SPACE_TABLE(systabs.tablename)) AS T2 + WHERE systabs.tabletype = 'T' +ここでT2はユーザ指定の表名で、任意の識別子を指定できます。

+

スキーマ名と表名は、何れもJavaの文字列型とみなされる式でなければなりません。 +スキーマ名と表名がデリミトされない識別子であった場合、名前は大文字で指定しなければなりません。

+

例を挙げます。SELECT * + FROM TABLE (SYSCS_DIAG.SPACE_TABLE('MYSCHEMA', 'MYTABLE')) + AS T2

+
SYSCS_DIAG.STATEMENT_CACHE 診断表 +

SYSCS_DIAG.STATEMENT_CACHE診断表にはSQL文キャッシュの内容が記述されます。 +SYSCS_DIAG.STATEMENT_CACHE診断表は文から直接参照できます。

+

例を挙げます。SELECT * FROM SYSCS_DIAG.STATEMENT_CACHE

+
SYSCS_DIAG.STATEMENT_DURATION 診断表関数 +

SYSCS_DIAG.STATEMENT_DURATION診断表関数を使って、derby.logファイルや指定したログファイルにあるSQL文の実行時間を知ることができます。

+

この診断関数を使うことで、アプリケーションのJDBCコードのどこにボトルネックがあるかの、手がかりを得ることができます。

+

SYSCS_DIAG.STATEMENT_DURATION診断表関数を使うには、SQLの表関数構文に基づく必要があります。

+

例を挙げます。SELECT * + FROM TABLE (SYSCS_DIAG.STATEMENT_DURATION()) + AS T1 +ここでT1はユーザが指定した表名で、任意の識別子を指定できます。

+この表では、個々のトランザクションIDにおける最後の文毎に、行が対応していません。トランザクションによる情報の変更があった場合、トランザクションIDはコミットやロールバンクの前後で値が変わります。 +

SYSCS_DIAG.STATEMENT_DURATION診断表関数には随意の引数としてログファイルを指定できます。 +ログファイル名を指定した場合、ファイル名はJavaの文字列とみなせる式でなければなりません。

+

例を挙げます。SELECT * + FROM TABLE (SYSCS_DIAG.STATEMENT_DURATION('somederby.log')) + AS T1

+

既定ではのログファイルには起動、終了、エラーメッセージだけが出力されます。 +より詳細な情報をのログファイルに出力する方法は、ガイドのderby.stream.error.logSeverityLevel属性と、derby.language.logStatementText属性を読んでください。 +それ以外の情報もあれば、SYSCS_DIAG.STATEMENT_DURATION診断表関数で問い合わせ可能です。

+
SYSCS_DIAG.TRANSACTION_TABLE 診断表 +

SYSCS_DIAG.TRANSACTION_TABLE診断表には現在データベースに存在する全トランザクションが記述されます。SYSCS_DIAG.TRANSACTION_TABLE診断表は文から直接参照できます。

+

例を挙げます。SELECT * FROM SYSCS_DIAG.TRANSACTION_TABLE

+

文にてSYSCS_DIAG.TRANSACTION_TABLE診断表が参照されると、トランザクション表のスナップショットが撮られます。スナップショットは診断表を参照しても、アプリケーションの通常処理時間や処理の流れに影響が出ないよう用意されます。トランザクションはスナップショットの作成時に状態遷移中である場合もあります。

+
+
Propchange: db/derby/docs/trunk/src/ja_JP/ref/rrefsyscsdiagtables.dita ------------------------------------------------------------------------------ svn:svn:eol-style = native Added: db/derby/docs/trunk/src/ja_JP/ref/rrefsyscsruntimestatsfunc.dita URL: http://svn.apache.org/viewvc/db/derby/docs/trunk/src/ja_JP/ref/rrefsyscsruntimestatsfunc.dita?rev=609101&view=auto ============================================================================== --- db/derby/docs/trunk/src/ja_JP/ref/rrefsyscsruntimestatsfunc.dita (added) +++ db/derby/docs/trunk/src/ja_JP/ref/rrefsyscsruntimestatsfunc.dita Sat Jan 5 00:25:17 2008 @@ -0,0 +1,35 @@ + + + + + +SYSCS_UTIL.SYSCS_GET_RUNTIMESTATISTICS システム関数 + +
+

SYSCS_UTIL.SYSCS_GET_RUNTIMESTATISTICS関数は、java.sql.ResultSetに対する問合せの実行計画および処理時間の統計を表す、VARCHAR(32762)の値を返します。 +問合せの実行計画は実行ノードからなる木構造の情報です。 +このノードには幾つかの種類があります。 +統計はそれぞれのノードが実行されるたびに合計されてゆきます。統計される値には、特定の処理にかかった時間の合計、ノードの子から渡された行数、そのノードから親に返された行数等あります。(実際に何が集計されるのかは、それぞれのノードの種類により決まります。) +SYSCS_UTIL.SYSCS_GET_RUNTIMESTATISTICSが最も有意義に機能するのは、SELECT、INSERT、UPDATE等のDML文に対してです。 +

+
構文 VARCHAR(32762) SYSCS_UTIL.SYSCS_GET_RUNTIMESTATISTICS()
+
例 VALUES SYSCS_UTIL.SYSCS_GET_RUNTIMESTATISTICS()
+
+
+ Propchange: db/derby/docs/trunk/src/ja_JP/ref/rrefsyscsruntimestatsfunc.dita ------------------------------------------------------------------------------ svn:svn:eol-style = native Added: db/derby/docs/trunk/src/ja_JP/ref/rreftableexpression.dita URL: http://svn.apache.org/viewvc/db/derby/docs/trunk/src/ja_JP/ref/rreftableexpression.dita?rev=609101&view=auto ============================================================================== --- db/derby/docs/trunk/src/ja_JP/ref/rreftableexpression.dita (added) +++ db/derby/docs/trunk/src/ja_JP/ref/rreftableexpression.dita Sat Jan 5 00:25:17 2008 @@ -0,0 +1,52 @@ + + + + +TableExpression + +表式 + + + +
+

表式により表、ビューあるいは関数を、FROM 節にて指定します。これより選択式にて結果が選択されます。

+

列を限定するために、相関名を表式に適用することができます。 +相関名が与えられない場合、表名が列名を限定します。 +もし表に相関名が与えられた場合、表名により列を限定することはできず、列名を相関名で限定しなければなりません。

+

FROM節にある項目は、同じ名前の相関名を持つことができません。また相関名はFROM節にある表の限定されない名前と同じ名前であってはなりません。

+

さらにAS節を使って表の列に名前を与えることができます。これは以下の状況で便利です。

    +
  • VALUES式が表副問合せで使われている場合、VALUES式の列に名前を与える方法は、他には無いです。
  • +
  • 列名が他の表の列名と同じ場合、別の名前を与えることで限定の必要がなくなります。
  • +

+

Fromの項目にある表副問合せの問合せには、複数列を置くことができ、複数行を返すことができます。を参照してください。

+

ユーザが最適化のため何を指定できるかについては、を参照してください。

+構文 +{ +表やビューあるいは関数式 | 結合式 +} + + +例 +-- 結合式から選択できます。 +SELECT E.EMPNO, E.LASTNAME, M.EMPNO, M.LASTNAME + FROM EMPLOYEE E LEFT OUTER JOIN + DEPARTMENT INNER JOIN EMPLOYEE M + ON MGRNO = M.EMPNO + ON E.WORKDEPT = DEPTNO + +
Propchange: db/derby/docs/trunk/src/ja_JP/ref/rreftableexpression.dita ------------------------------------------------------------------------------ svn:svn:eol-style = native Added: db/derby/docs/trunk/src/ja_JP/ref/rreftablename.dita URL: http://svn.apache.org/viewvc/db/derby/docs/trunk/src/ja_JP/ref/rreftablename.dita?rev=609101&view=auto ============================================================================== --- db/derby/docs/trunk/src/ja_JP/ref/rreftablename.dita (added) +++ db/derby/docs/trunk/src/ja_JP/ref/rreftablename.dita Sat Jan 5 00:25:17 2008 @@ -0,0 +1,31 @@ + + + + + +表名 + +

表名は表をあらわします。表名はスキーマ名で限定することができます。

+
構文 [ スキーマ名. ] SQL92識別子
+
例 -- SAMP.PROJECT はスキーマ名のある表名です。 +SELECT COUNT(*) FROM SAMP.PROJECT
+
+
+ Propchange: db/derby/docs/trunk/src/ja_JP/ref/rreftablename.dita ------------------------------------------------------------------------------ svn:svn:eol-style = native Added: db/derby/docs/trunk/src/ja_JP/ref/rreftablesubquery.dita URL: http://svn.apache.org/viewvc/db/derby/docs/trunk/src/ja_JP/ref/rreftablesubquery.dita?rev=609101&view=auto ============================================================================== --- db/derby/docs/trunk/src/ja_JP/ref/rreftablesubquery.dita (added) +++ db/derby/docs/trunk/src/ja_JP/ref/rreftablesubquery.dita Sat Jan 5 00:25:17 2008 @@ -0,0 +1,71 @@ + + + + +表副問合せ + +TableSubquery + + + +
+

表副問合せは複数の行を返す副問合せです。

+

スカラー副問合せとは異なり、表副問合せは以下の文脈にてのみ可能です。 +

    +
  • FROM 節の表式
  • +
  • EXISTSやIN、量の比較
  • +

+

FROM 節の表式にて使われた場合、複数の列を返すことができます。

+

EXISTSでは、*を使う場合のみ複数の列を返すことができます。

+

INや限定条件では、単列のみ返すことができます。

+構文 +(問合せ) + +例-- FROM節の表式として、副問合せを使う。 +SELECT VirtualFlightTable.flight_ID +FROM + (SELECT flight_ID, orig_airport, dest_airport + FROM Flights + WHERE (orig_airport = 'SFO' OR dest_airport = 'SCL') ) +AS VirtualFlightTable +-- FROM節の表式として、副問合せ(values式)を使う。 +SELECT mycol1 +FROM + (VALUES (1, 2), (3, 4)) +AS mytable (mycol1, mycol2) +-- EXISTSにて副問合せを使う +SELECT * +FROM Flights +WHERE EXISTS + (SELECT * FROM Flights WHERE dest_airport = 'SFO' + AND orig_airport = 'GRU') +-- INにて副問合せを使う +SELECT flight_id, segment_number +FROM Flights +WHERE flight_id IN + (SELECT flight_ID + FROM Flights WHERE orig_airport = 'SFO' + OR dest_airport = 'SCL') +-- 定量比較にて副問合せを使う +SELECT NAME, COMM +FROM STAFF +WHERE COMM > +(SELECT AVG(BONUS + 800) + FROM EMPLOYEE + WHERE COMM < 5000) +
Propchange: db/derby/docs/trunk/src/ja_JP/ref/rreftablesubquery.dita ------------------------------------------------------------------------------ svn:svn:eol-style = native Added: db/derby/docs/trunk/src/ja_JP/ref/rreftimefunc.dita URL: http://svn.apache.org/viewvc/db/derby/docs/trunk/src/ja_JP/ref/rreftimefunc.dita?rev=609101&view=auto ============================================================================== --- db/derby/docs/trunk/src/ja_JP/ref/rreftimefunc.dita (added) +++ db/derby/docs/trunk/src/ja_JP/ref/rreftimefunc.dita Sat Jan 5 00:25:17 2008 @@ -0,0 +1,43 @@ + + + + + +TIME 関数 +TIME関数は値の時刻の部分を返します。 + +TIME function + + +

引数は時刻、タイムスタンプ、CLOB・LONG VARCHAR・XML以外の時刻やタイムスタンプを表す有効な文字列である必要があります。 +この関数の結果は時刻です。引数にnullをとることがある場合、返り値もnullをとることがあります。 +引数がnullなら、返り値はnullです。 +

+

+引数のデータ型に応じて、以下の規則があります。 +

    +
  • 引数が時刻なら、返り値はその時刻です。
  • +
  • 引数がタイムスタンプなら、返り値はタイムスタンプの時刻の部分です。
  • +
  • もし引数が文字列なら、返り値は文字列が表す時刻です。
  • +

+構文 TIME ( 式 ) + values time(current_timestamp) +

もし現在時刻が午後5:03なら、返り値は17:03:00です。

+
+
Propchange: db/derby/docs/trunk/src/ja_JP/ref/rreftimefunc.dita ------------------------------------------------------------------------------ svn:svn:eol-style = native