FOR UPDATE 句
FOR UPDATE 句は、SQL カーソルによる位置付け更新または位置付け削除を実行します。形式は次のとおりです:
FOR UPDATE [OF 列式]
列式は、更新するデータベーステーブル内のフィールド名をコンマで区切ったリストです。列式はオプションで省略可能です。
例
給与フィールドの値が 2,000,000 円を超える、従業員名簿データベース内のすべてのレコードを返します。
SELECT * FROM "従業員名簿" WHERE "給与" > 2000000 FOR UPDATE OF "姓", "名", "給与"
各レコードは取得時にロックされます。レコードを更新または削除する場合、ロックは変更を確定するまで維持されます。その他の場合は次のレコードを取得するとロックは解除されます。
例
|
使用する列 |
SQL の例 |
|
文字列定数 |
コピー
|
|
数値定数 |
コピー
|
|
日付定数 |
コピー
|
|
時刻定数 |
コピー
|
|
タイムスタンプ定数 |
コピー
|
|
テキスト列 |
コピー
|
|
数字列 |
コピー
|
|
日付列 |
コピー
|
|
時刻列 |
コピー
|
|
タイムスタンプ列 |
コピー
|
|
BLOB 列 |
コピー
メモ BLOB は、FileMaker Pro データベースファイルのオブジェクトフィールドです。 |
|
ワイルドカード * |
コピー
|
これらの例に関する注意
列は FileMaker Pro データベースファイルのフィールドの参照です(フィールドには複数の値が含まれている場合があります)。
アスタリスク (*) のワイルドカード文字は、「すべて」を簡単に指定する方法です。たとえば、SELECT * FROM "営業社員"では、結果は営業社員テーブル内のすべての行になります。SELECT DISTINCT * FROM "営業社員"の例では、結果は営業社員テーブル内にある固有な (重複しない) 行すべてになります。
-
FileMaker ソフトウェアは空の文字列のデータを保存しないため、次のクエリーでは常にレコードが返されません:
コピーSELECT * FROM テスト WHERE c =''
SELECT * FROM テスト WHERE c <>'' -
バイナリデータで
SELECTを使用している場合は、返すストリームを指定するGetAs()関数を使用する必要があります。詳細については、「オブジェクトフィールドの内容の取得:CAST() 関数と GetAs() 関数」を参照してください。
オブジェクトフィールドの内容の取得:CAST() 関数と GetAs() 関数
オブジェクトフィールドから、ファイル参照情報、バイナリデータ、または特定のファイルタイプのデータを取得することができます。
-
ファイルへのファイルパス、ピクチャ、またはビデオなど、オブジェクトフィールドからファイル参照情報 (ファイルパスなど) を取得するには、
CAST()関数を使用したSELECTステートメントを使用します。 -
ファイルデータまたは JPEG バイナリデータが存在する場合、
GetAs( "フィールド名", 'JPEG')を使用したSELECTステートメントによってデータがバイナリ形式で取得されます。存在しない場合は、フィールド名を使用したSELECTステートメントはNULLを返します。
例
ファイル参照情報を取得するには、CAST() 関数を使用した SELECT ステートメントを使用します。
SELECT CAST( "会社パンフレット" AS VARCHAR) FROM "営業データ"
この例で取得する内容は次のとおりです:
-
FileMaker Pro を使用してオブジェクトフィールドにファイルを挿入してファイルへの参照のみを保存する場合、
SELECTステートメントによってタイプSQL_VARCHARというファイル参照情報が取得されます。 -
FileMaker Pro を使用してオブジェクトフィールドにファイルの内容を挿入すると、
SELECTステートメントによってファイル名が取得されます。 -
別のアプリケーションからオブジェクトフィールドにファイルがインポートされると、
SELECTステートメントは「?」を表示します (FileMaker Pro では、ファイルは 名称未設定.dat と表示されます)。
データをバイナリ形式で取得するには、次の方法で SELECT ステートメントと GetAs() 関数を使用できます:
-
GetAs()関数をDEFAULTオプションと使用する場合、ストリームタイプを明示的に定義する必要なく、オブジェクトのデフォルトストリームを取得します。例
コピーSELECT GetAs("会社パンフレット", 'DEFAULT') FROM "営業データ"
-
オブジェクトから個々のストリームタイプを取得するには、FileMaker Pro のオブジェクトフィールドにデータが挿入された方法に基づいたファイルタイプを指定した
GetAs()関数を使用します。例
[挿入] > [ファイル...] コマンドでデータが挿入された場合、
GetAs()関数で'FILE'を指定します。コピーSELECT GetAs("会社パンフレット", 'FILE') FROM "営業データ"[挿入] > [ピクチャ...] コマンド、ドラッグ&ドロップ、またはクリップボードから貼り付け (ペースト) してデータが挿入された場合、次の一覧の
'JPEG'などのファイルタイプの 1 つを指定します。コピーSELECT GetAs("会社ロゴ", 'JPEG') FROM "会社アイコン"ファイルタイプ
説明
'GIFf'Graphics Interchange Format
'JPEG'写真イメージ
'TIFF'デジタルイメージのラスタファイル形式
'PDF'Portable Document Format
'PNGf'Bitmap イメージ形式