使用User-Defined Records進行資料處理
前言
使用Table-Based Records或是Cursor-Based Records參照為表格的所有欄位,在許多的情況進行資料查詢可能只需要部分欄位,因此可透過使用者自訂的RECORD達成,若返回的型態與原本資料表定義的不同,只須於自訂的RECORD進行定義即可。
實作
使用語法如下
1
2
3
4
5
6
7
8
9
10
11
| DECLARE
TYPE RECORD 型態名稱 IS RECORD (
屬性1 資料型態1;
屬性2 資料型態2;
.....
);
RECORD 變數 RECORD 型態名稱;
BEGIN
.....
END;
|
以下進行相關示範
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| SET FEEDBACK OFF;
SET SERVEROUTPUT ON;
DECLARE
-- 自訂 RECORD 型態
TYPE REC_ARTICLE IS RECORD (
ID ARTICLE.ID%TYPE,
TITLE ARTICLE.TITLE%TYPE,
CREATE_DATE VARCHAR2(16)
);
-- 宣告 RECORD 變數
R_ARTICLE REC_ARTICLE;
BEGIN
SELECT ID, TITLE, TO_CHAR(CREATE_DATE, 'YYYY/MM/DD HH24:MI') AS CREATE_DATE INTO R_ARTICLE FROM ARTICLE WHERE TITLE = '楊藝的洋溢生活 - 我的第一篇 PL/SQL 筆記';
DBMS_OUTPUT.PUT_LINE('ID: ' || R_ARTICLE.ID);
DBMS_OUTPUT.PUT_LINE('TITLE: ' || R_ARTICLE.TITLE);
DBMS_OUTPUT.PUT_LINE('CREATE_DATE: ' || R_ARTICLE.CREATE_DATE);
END;
|
執行結果
1
2
3
| ID: 7C5E3A5AD847F0D3E050A8C0FD894690
TITLE: 楊藝的洋溢生活 - 我的第一篇 PL/SQL 筆記
CREATE_DATE: 2018/12/07 10:59
|