ORACLE RECODE DEFINITION

ORACLE LESSON 4(Part2)
Oracle could define a type named RECORD,this is like a Model of Class.
Below is the script of how to define and use the RECORD.

1.Define a RECORD
DECLARE
TYPE myrecord IS RECORD(
id varchar2(10),
name varchar2(10));
real_record myrecord;
BEGIN
SELECT eid,ename INTO real_record FROM emp WHERE eid='711'; --Here INTO is not like T-SQL.And real_record is just a variable,
--It means give the data(eid,ename) to the variable real_record.
--Maybe like T-SQL real_record=(eid,ename),but T-SQL not support RECORD.
DBMS_OUTPUT.PUT_LINE(real_record.id||','||real_record.name); --"||" used to connect two variable or strings.All type could use it.
END;
/ --Execute CODE.

2.Define a RECORD,and the RECORD's variable type FROM a table.
DECLARE
TYPE myrecord IS RECORD(
id EMP.EID%TYPE, --This is a way to define a variable,means the type of id is from the COLUMN EMP.EID. So, the type id and EMP.EID are the same.
name varchar2(10));
real_record myrecord;
BEGIN
SELECT eid,ename INTO real_record FROM emp WHERE eid='711';
DBMS_OUTPUT.PUT_LINE(real_record.id||','||real_record.name);
END;
/


3.Define a RECORD,and the RECORD's all variable type from a table
DECLARE
myrec emp%ROWTYPE; --This is a way to define a RECORD,and the RECORD is from the table emp,and the RECORD has all atribute of emp COLUMNS.
BEGIN
SELECT * INTO myrec FROM emp WHERE eid='711';
DBMS_OUTPUT.PUT_LINE(myrec.eid||','||myrec.ename||','||myrec.sex);
END;
/

--Table of EMP
SQL> desc emp
名称 是否为空? 类型
----------------------------------------- -------- --------------

EID VARCHAR2(10)
ENAME VARCHAR2(10)
SEX VARCHAR2(10)
ID VARCHAR2(10)
原文地址:https://www.cnblogs.com/s021368/p/1438900.html