![]() ![]() ![]() ![]() |
外部結合やスカラー関数呼び出しなどの言語機能は、一般的にデータベース システムによって実装されています。これらの機能の構文は、標準的な構文が定義されていても、データベースに固有の場合がよくあります。JDBC では、以下の言語機能の標準的な構文を含むエスケープ シーケンスが定義されています。
JDBC で使用されるエスケープ シーケンスは次のとおりです。
{extension}
エスケープ シーケンスは、Type 4 JDBC ドライバによって認識、解析され、データ ストア固有の文法に置き換えられます。
日付、時刻、およびタイムスタンプ リテラルのエスケープ シーケンスは次のとおりです。
{literal-type 'value'}
UPDATE Orders SET OpenDate={d '1995-01-15'}
WHERE OrderID=1023
{fn scalar-function}
scalar-function は、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 に、各データ ストア用の Type 4 JDBC ドライバでサポートされている外部結合のエスケープ シーケンスを示します。
LIKE 句内でワイルドカード文字 (%、_ など) をエスケープするために使用する文字を指定できます。エスケープ文字のエスケープ シーケンスは次のとおりです。
{escape 'escape-character
'}
escape-character
は、ワイルドカード文字をエスケープするために使用する文字です。
たとえば、次の SQL 文では、LIKE 句内のワイルドカード文字 % のエスケープ文字としてアスタリスク (*) を使用するように指定されています。
SELECT col1 FROM table1 WHERE col1 LIKE '*%%' {escape '*'}
プロシージャは、データ ストアに格納されている実行可能なオブジェクトです。通常は、コンパイル済みの 1 つまたは複数の SQL 文です。プロシージャを呼び出すためのエスケープ シーケンスは次のとおりです。
{[?=]call procedure-name[([parameter][,parameter]...)]}
procedure-name はストアド プロシージャの名前です。
parameter はストアド プロシージャのパラメータです。
![]() ![]() ![]() |