您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)如何理解pl/sql record,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
PL/SQL記錄(record)相當(dāng)于高級(jí)語(yǔ)言中的結(jié)構(gòu),它有益于處理單行數(shù)據(jù)。例如要檢索雇員的姓名、工資和補(bǔ)助時(shí),如果使用標(biāo)量變量接收數(shù)據(jù),需要定義三個(gè)變量。為了簡(jiǎn)化單行多列數(shù)據(jù)的處理,可以使用記錄。
1、定義Record
在定義時(shí),可以是開(kāi)發(fā)人與自定義記錄類(lèi)型和記錄變量,也可以使用%rowtype直接定義記錄變量。
例如:自定義Record
DECLARE
TYPE emp_record_type IS RECORD(
name emp.ename%type,
salary emp.sal%type,
dno emp.deptno%type
);
emp_record emp_record_type ;
emp_record是基于記錄類(lèi)型emp_record_type所定義的記錄變量。記錄變量名:emp_record
2、使用%rowtype屬性定義記錄變量
%rowtype可以基于表或視圖定義記錄變量。當(dāng)使用該屬性定義記錄變量時(shí),記錄成員的名稱(chēng)和類(lèi)型與表或視圖的列的名稱(chēng)和類(lèi)型完全相同。
語(yǔ)法:identifier table_name%rowtype;
當(dāng)使用%rowtype屬性定義記錄變量時(shí),記錄成員的個(gè)數(shù)、名稱(chēng)、類(lèi)型與表或視圖的列的個(gè)數(shù)、名稱(chēng)、類(lèi)型相同。
例如:
emp_record emp%rowtype
記錄變量emp_record的成員名為表emp的列名(empno、ename..)
使用示例:
set serveroutput on
DECLARE
TYPE emp_record IS RECORD(
name emp.ename%type,
salary emp.sal%type,
dno emp.deptno%type
);
emp_record emp_record_type;
BEGIN
select ename,sal,deptno INTO emp_record
FROM emp
WHERE empno=&no;
dbms_output.put_line(emp_record.name);
END;
當(dāng)引用記錄變量成員時(shí),必須在成員名之前加上記錄變量名作為前綴。
看完上述內(nèi)容,你們對(duì)如何理解pl/sql record有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。