![]() ![]() ![]() ![]() |
外部結合やスカラー関数呼び出しなどの言語機能は、データベース システムによって実装されるのが一般的です。これらの機能の構文は、標準的な構文が定義されていても、データベースに固有の場合がよくあります。JDBC では、以下の言語機能の標準的な構文を含むエスケープ シーケンスが定義されています。
JDBC で使用されるエスケープ シーケンスは次のとおりです。
{extension}
WebLogic Type 4 JDBC ドライバは、エスケープ シーケンスを認識して解析し、データ ストア固有の文法に置き換えます。
日付、時刻、およびタイムスタンプ リテラルのエスケープ シーケンスは次のとおりです。
{literal-type 'value'}
UPDATE Orders SET OpenDate={d '1995-01-15'}
WHERE OrderID=1023
{fn scalar-function}
scalar-function は、WebLogic Type 4 JDBC ドライバでサポートされているスカラー関数です (表 C-2 を参照)。
SELECT id, name FROM emp WHERE name LIKE {fn UCASE('Smith')}
JDBC は、SQL92 の左、右、および完全外部結合の構文をサポートしています。外部結合で使用されるエスケープ シーケンスは次のとおりです。
{oj outer-join}
table-reference {LEFT | RIGHT | FULL} OUTER JOIN
{table-reference | outer-join} ON search-condition
table-reference はデータベース テーブル名です。
search-condition はテーブルに使用する結合条件です。
SELECT Customers.CustID, Customers.Name, Orders.OrderID, Orders.Status
FROM {oj Customers LEFT OUTER JOIN
Orders ON Customers.CustID=Orders.CustID}
WHERE Orders.Status='OPEN'
表 C-3 に、各データ ストア用の WebLogic Type 4 JDBC ドライバでサポートされている外部結合のエスケープ シーケンスを示します。
LIKE 句でワイルドカード文字 (たとえば % や _) をエスケープするために使用する文字を指定できます。エスケープ文字のエスケープ シーケンスは次のとおりです。
{escape 'escape-character
'}
escape-character
は、ワイルドカード文字をエスケープするために使用する文字です。
次に例を示します。次の SQL 文では、LIKE 句内で、ワイルドカード文字 % のエスケープ文字としてアスタリスク (*) を使用することを指定しています。
SELECT col1 FROM table1 WHERE col1 LIKE '*%%' {escape '*'}
プロシージャは、データ ストアに格納されている実行可能なオブジェクトです。一般には、コンパイル済みの SQL 文です。プロシージャを呼び出すためのエスケープ シーケンスは次のとおりです。
{[?=]call procedure-name[([parameter][,parameter]...)]}
procedure-name は、ストアド プロシージャの名前です。
parameter は、ストアド プロシージャのパラメータです。
注意 : | Linux/UNIX/Windows 上の DB2 では、ストアド プロシージャを呼び出す際にカタログ名を使用することはできません。また、Linux/UNIX/Windows 用の DB2 v8.1 および v8.2 では、ストアド プロシージャにリテラルのパラメータ値を使用できます。サポートされるその他の DB2 バージョンでは、ストアド プロシージャにリテラルのパラメータ値を使用できません。 |
![]() ![]() ![]() |