「PL/SQL」%ROWTYPEでデータベース表の行の一部を表示する

書式
変数名 カーソル名%ROWTYPE;
テーブル:USER_TBL
列:USER_NAME, DEPART_NAME, PHONE_NO
カーソル名:CFT_CUR
カーソルにより選択される各列に対応するフィールドを持つレコード変数INFOを宣言します。
使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
DECLARE
CURSOR CFT_CUR IS
SELECT USER_NAME, DEPART_NAME, PHONE_NO
FROM USER_TBL;
INFO CFT_CUR%ROWTYPE;
BEGIN
INFO.USER_NAME := '山田';
INFO.DEPART_NAME := '開発部';
INFO.PHONE_NO := '090-1234-5678';
DBMS_OUTPUT.PUT_LINE (
INFO.USER_NAME || ' ' ||
INFO.DEPART_NAME || ', ' ||
INFO.PHONE_NO
);
END;
DECLARE CURSOR CFT_CUR IS SELECT USER_NAME, DEPART_NAME, PHONE_NO FROM USER_TBL; INFO CFT_CUR%ROWTYPE; BEGIN INFO.USER_NAME := '山田'; INFO.DEPART_NAME := '開発部'; INFO.PHONE_NO := '090-1234-5678'; DBMS_OUTPUT.PUT_LINE ( INFO.USER_NAME || ' ' || INFO.DEPART_NAME || ', ' || INFO.PHONE_NO ); END;
DECLARE
  CURSOR CFT_CUR IS
    SELECT USER_NAME, DEPART_NAME, PHONE_NO
    FROM USER_TBL;
 
  INFO CFT_CUR%ROWTYPE;
BEGIN
  INFO.USER_NAME   := '山田';
  INFO.DEPART_NAME    := '開発部';
  INFO.PHONE_NO := '090-1234-5678';
  
  DBMS_OUTPUT.PUT_LINE (
    INFO.USER_NAME  || ' ' ||
    INFO.DEPART_NAME   || ', ' ||
    INFO.PHONE_NO
  );
END;

結果:
山田 開発部, 090-1234-5678

Oracle

Posted by arkgame