為了處理單行單列的資料,開發人員可以使用標量變數;為了處理單行多列的資料,開發人員可以使用pl/sql記錄 ;而為了處理單列多行資料,開發人員可以使用pl/sql集合。
記錄表處理多行多列。
記錄的使用
declare
type emp_record is record(
name t_emp.ename%
type
,#宣告標題變數
salary t_emp.sal%
type
,dno t_emp.depno%
type);
emp_record_type emp_record;
#宣告記錄變數
begin
select ename,sal,deptno into emp_record_type
from t_emp where empno=&no
; dbms_output.put_line(
'雇員姓名:'
||emp_record.name)
;end
create
table t_dept as
select
*from dept;
declare
dept_record dept%rowtype;
--列的列名、資料型別都相同的行記錄變數
begin
dept_record.deptno :=50;
dept_record.loc:=
'beijing'
; dept_record.dname:=
'admin'
;insert
into t_dept values dept_record;
---這個也可以
update t_dept set
row=dept_record
where deptno=50;
commit
;commit
;
記錄表的使用:
將emp表中資料全部查詢出來存放到pl/sql記錄表中。
declare
cursor c_emp is
select
*from emp;
type emp_table_type is
table
of emp%rowtype
index
by binary_integer;
emp_table emp_table_type;
counter number(
20):=0;
begin
for e in c_emp loop
counter :=counter+1;
emp_table(counter):=e;
dbms_output.put_line(emp_table(counter)
.ename||
' ,'
||emp_table(counter)
.sal)
;end
loop
;end
;
PL SQL 記錄集合IS TABLE OF的使用
在pl sql 塊中使用select into 賦值的話,有可能返回的是乙個結果集。此時,如果使用基本型別或自定義的記錄型別,將會報錯。因此,需要定義乙個變數,是某種型別的集合。下面以乙個基於表的行型別的集合為例簡單介紹一下 相信基本型別同理吧 1 declare 2cursor cur tx is...
Linq查詢datatable的記錄集合
通過linq查詢datatable資料集合滿足條件的資料集 1.首先定義查詢欄位的變數,比方深度 string strdepth 查詢深度的值 var datarows from datarow in datatable 須要查詢的datatable資料集 asenumerable where st...
Linq查詢datatable的記錄集合
通過linq查詢datatable資料集合滿足條件的資料集 1.首先定義查詢欄位的變數,比如深度 string strdepth 查詢深度的值 var datarows from datarow in datatable 需要查詢的datatable資料集 asenumerable where st...