1,使用%type
declare
my_name Employee.Name%TYPE;
begin
select Name into my_name
from Employee
where id=1;
dbms_output.put_line('1号的员工是:'||my_name);
end;
2,記錄類型
--應用%type一次讀取多個列的數據示列
declare
/*定義記錄類型*/
type emp_type is record
(my_name Employee.Name%TYPE,
my_birthdate employee.birthdate%type);
/*申明記錄類型的變量*/
my_emp emp_type;
begin
/*讀取對應列數據到變量中,變量的對應字段內將儲存記錄中的對應列數據*/
select Name, birthdate into my_emp from Employee
where id=1;
/*分別讀取變量中的各字段的值*/
dbms_output.put_line(my_emp.my_name||'的生日是:'||my_emp.my_birthdate);
end;
3,使用%rowtype
--應用%rowtype一次讀取所有列的數據示列
declare
/*申明變量,用于儲存表Employee中行的所有列數據*/
my_emp employee%rowtype;
begin
/*讀取行中所有列的值到指定的變量中*/
select *into my_emp from Employee
where id=1;
/*分別讀取變量中的各字段的值,此時變量中的字段名與表中的列名完全一致*/
dbms_output.put_line(my_emp.name||'的生日是:'||my_emp.birthdate);
end;