行変数内のフィールドの参照
フィールド値は、複数のコンテキストで参照できます。
行フィールド値は、フィールドのデータ・タイプの値が許可される場合にはどの場所でも参照できます。 行フィールドの参照は、以下のコンテキストでサポートされています。
- 以下のように、フィールドのデータ・タイプの値が許可されるすべての場所 (以下の場合に限定される訳ではありません)。
- 割り当てのソースとして (SET ステートメント)
- 割り当てのターゲットとして (SET ステートメント)
- SELECT INTO、VALUES INTO、または FETCH INTO ステートメントのターゲットとして。
行変数内のフィールドの値を参照するには、単一ドット表記を使用します。 フィールド値は、以下のように変数と関連付けられます。
<row-variable-name>.<field-name>以下は、変数 employee のフィールド id にアクセスする方法の例です。
employee.id以下に、サポートされている、行変数フィールド値に対する参照例を幾つか示します。以下の例は、行変数 v1 内のフィールドにリテラル値を割り当てる方法を示しています。
-- Literal assignment to a row variable field
SET v1.c1 = 5;以下の例は、複数の行変数フィールドにリテラル値および式値を割り当てる方法を示しています。
-- Literal assignment to fields of row variable
SET (emp.id, emp.name) = (v1.c1 + 1, 'James');以下の例は、INSERT ステートメントでフィールド値を参照する方法を示しています。
-- Field references in an INSERT statement
INSERT INTO employee
VALUES(v1.c1, 'Beth'),
(emp.id, emp.name); 以下の例は、UPDATE ステートメントでフィールド値を参照する方法を示しています。
-- Field references in an UPDATE statement
UPDATE employee
SET name = 'Susan'
WHERE id = v1.c1;以下の例は、SELECT INTO ステートメントでフィールド値を参照する方法を示しています。
-- Field references in a SELECT INTO statement
SELECT employee.firstname INTO v2.c1
FROM employee
WHERE name=emp.name;