Oracle PL/SQLのRECORD (レコード)の使い方を解説します。
レコードを宣言するには、あらかじめレコードを定義しておく必要がある。レコードの定義は次の構文で行う。
TYPE type_name IS RECORD (field_declaration [, field_declaration ...]);
field type
field type := expr
field type DEFAULT expr
field type NOT NULL := expr
field type NOT NULL DEFAULT expr
レコードを宣言するには、あらかじめレコードを定義しておく必要がある。レコードの宣言は次の構文で行う。
record type;
record table%ROWTYPE;
DECLARE
TYPE example_type IS RECORD (
empno NUMBER NOT NULL DEFAULT 1,
ename VARCHAR2(10),
job VARCHAR2(10),
mgr NUMBER,
hiredate DATE,
sal NUMBER,
comm NUMBER,
deptno NUMBER
);
example_record example_type;
BEGIN
SELECT * INTO example_record FROM emp WHERE empno = 1000;
レコードがテーブルと同じ構造の場合は、レコードの定義は不要で、レコードの宣言にROWTYPE属性を使用することができる。
DECLARE
example_record emp%ROWTYPE;
BEGIN
SELECT * INTO example_record FROM emp WHERE empno = 1000;