PL Sql記錄,集合,記錄表的使用

2021-10-19 11:54:15 字數 1623 閱讀 6661

為了處理單行單列的資料,開發人員可以使用標量變數;為了處理單行多列的資料,開發人員可以使用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...