plsql記錄型別
CREATE OR REPLACE PROCEDURE TEST_RECORD1 AS
/*
*功能:用來說明自定義記錄的使用,在select into子句中使用記錄變數
*範圍:適用於處理單行多列的資料
*/
BEGIN
--自定義記錄型別
DECLARE
TYPE EMP_RECORD_TYPE IS RECORD(
ENAME EMP.ENAME%TYPE,
EMPNO EMP.EMPNO%TYPE,
JOB EMP.JOB%TYPE);
--使用自定義記錄型別建立變數
EMP_RECORD EMP_RECORD_TYPE;
--資料操作處理部分
BEGIN
SELECT ENAME, EMPNO, JOB INTO EMP_RECORD FROM EMP WHERE EMPNO = 7369;
DBMS_OUTPUT.PUT_LINE(EMP_RECORD.EMPNO);
DBMS_OUTPUT.PUT_LINE(EMP_RECORD.ENAME);
DBMS_OUTPUT.PUT_LINE(EMP_RECORD.JOB);
END;
END TEST_RECORD1;
/*
*功能:用來說明自定義記錄的使用,在select into子句中使用記錄變數
*範圍:適用於處理單行多列的資料
*/
BEGIN
--自定義記錄型別
DECLARE
TYPE EMP_RECORD_TYPE IS RECORD(
ENAME EMP.ENAME%TYPE,
EMPNO EMP.EMPNO%TYPE,
JOB EMP.JOB%TYPE);
--使用自定義記錄型別建立變數
EMP_RECORD EMP_RECORD_TYPE;
--資料操作處理部分
BEGIN
SELECT ENAME, EMPNO, JOB INTO EMP_RECORD FROM EMP WHERE EMPNO = 7369;
DBMS_OUTPUT.PUT_LINE(EMP_RECORD.EMPNO);
DBMS_OUTPUT.PUT_LINE(EMP_RECORD.ENAME);
DBMS_OUTPUT.PUT_LINE(EMP_RECORD.JOB);
END;
END TEST_RECORD1;
CREATE OR REPLACE PROCEDURE TEST_RECORD2 AS
/*
*功能:用來說明自定義記錄的使用,在select into子句中使用記錄成員
*範圍:適用於處理單行多列的資料
*/
BEGIN
--自定義記錄型別
DECLARE
TYPE EMP_RECORD_TYPE IS RECORD(
ENAME EMP.ENAME%TYPE,
EMPNO EMP.EMPNO%TYPE,
JOB EMP.JOB%TYPE);
/*
*功能:用來說明自定義記錄的使用,在select into子句中使用記錄成員
*範圍:適用於處理單行多列的資料
*/
BEGIN
--自定義記錄型別
DECLARE
TYPE EMP_RECORD_TYPE IS RECORD(
ENAME EMP.ENAME%TYPE,
EMPNO EMP.EMPNO%TYPE,
JOB EMP.JOB%TYPE);
--使用自定義記錄型別建立變數
EMP_RECORD EMP_RECORD_TYPE;
--資料操作處理部分
BEGIN
SELECT ENAME, EMPNO, JOB INTO EMP_RECORD.ename,emp_record.empno,emp_record.job FROM EMP WHERE EMPNO = 7369;
DBMS_OUTPUT.PUT_LINE(EMP_RECORD.EMPNO);
DBMS_OUTPUT.PUT_LINE(EMP_RECORD.ENAME);
DBMS_OUTPUT.PUT_LINE(EMP_RECORD.JOB);
END;
END TEST_RECORD2;
EMP_RECORD EMP_RECORD_TYPE;
--資料操作處理部分
BEGIN
SELECT ENAME, EMPNO, JOB INTO EMP_RECORD.ename,emp_record.empno,emp_record.job FROM EMP WHERE EMPNO = 7369;
DBMS_OUTPUT.PUT_LINE(EMP_RECORD.EMPNO);
DBMS_OUTPUT.PUT_LINE(EMP_RECORD.ENAME);
DBMS_OUTPUT.PUT_LINE(EMP_RECORD.JOB);
END;
END TEST_RECORD2;
"PROCEDURE TEST_RECORD3 AS
"
" /*
"
" *功能:用來說明自定義記錄的使用,在values子句中使用記錄變數
"
" *範圍:適用於處理單行多列的資料
"
"
"
" */
"
"BEGIN
"
" --自定義記錄型別,dept_record代表DEPT表中的一行
"
" DECLARE
"
" DEPT_RECORD DEPT%ROWTYPE;
"
" --為記錄成員給值
"
" BEGIN
"
" DEPT_RECORD.DEPTNO := '1';
"
" DEPT_RECORD.DNAME := 'test';
"
" DEPT_RECORD.LOC := 'life';
"
" --資料操作處理部分
"
" INSERT INTO DEPT VALUES DEPT_RECORD;
"
" COMMIT;
"
" END;
"
"END TEST_RECORD3;
"
"
" /*
"
" *功能:用來說明自定義記錄的使用,在values子句中使用記錄變數
"
" *範圍:適用於處理單行多列的資料
"
"
"
" */
"
"BEGIN
"
" --自定義記錄型別,dept_record代表DEPT表中的一行
"
" DECLARE
"
" DEPT_RECORD DEPT%ROWTYPE;
"
" --為記錄成員給值
"
" BEGIN
"
" DEPT_RECORD.DEPTNO := '1';
"
" DEPT_RECORD.DNAME := 'test';
"
" DEPT_RECORD.LOC := 'life';
"
" --資料操作處理部分
"
" INSERT INTO DEPT VALUES DEPT_RECORD;
"
" COMMIT;
"
" END;
"
"END TEST_RECORD3;
"
"PROCEDURE TEST_RECORD4 AS
"
" /*
"
" *功能:用來說明自定義記錄的使用,在values子句中使用記錄成員
"
" *範圍:適用於處理單行多列的資料
"
"
"
" */
"
"BEGIN
"
" --自定義記錄型別,dept_record代表DEPT表中的一行
"
" DECLARE
"
" DEPT_RECORD DEPT%ROWTYPE;
"
" --為記錄成員給值
"
" BEGIN
"
" DEPT_RECORD.DEPTNO := '2';
"
" DEPT_RECORD.DNAME := 'test';
"
" DEPT_RECORD.LOC := 'life';
"
" --資料操作處理部分
"
" INSERT INTO DEPT VALUES (dept_record.deptno,dept_record.dname,dept_record.loc);
"
" COMMIT;
"
" END;
"
"END TEST_RECORD4;
"
"
" /*
"
" *功能:用來說明自定義記錄的使用,在values子句中使用記錄成員
"
" *範圍:適用於處理單行多列的資料
"
"
"
" */
"
"BEGIN
"
" --自定義記錄型別,dept_record代表DEPT表中的一行
"
" DECLARE
"
" DEPT_RECORD DEPT%ROWTYPE;
"
" --為記錄成員給值
"
" BEGIN
"
" DEPT_RECORD.DEPTNO := '2';
"
" DEPT_RECORD.DNAME := 'test';
"
" DEPT_RECORD.LOC := 'life';
"
" --資料操作處理部分
"
" INSERT INTO DEPT VALUES (dept_record.deptno,dept_record.dname,dept_record.loc);
"
" COMMIT;
"
" END;
"
"END TEST_RECORD4;
"
"PROCEDURE TEST_RECORD5 AS
"
" /*
"
" *功能:用來說明自定義記錄的使用,在update set子句中使用記錄變數
"
" *範圍:適用於處理單行多列的資料
"
"
"
" */
"
"BEGIN
"
" --自定義記錄型別,dept_record代表DEPT表中的一行
"
" DECLARE
"
" DEPT_RECORD DEPT%ROWTYPE;
"
" --為記錄成員給值
"
" BEGIN
"
" DEPT_RECORD.DEPTNO := '3';
"
" DEPT_RECORD.DNAME := 'test';
"
" DEPT_RECORD.LOC := 'life';
"
" --資料操作處理部分
"
" UPDATE dept SET ROW = dept_record WHERE deptno =1;
"
" COMMIT;
"
" END;
"
"END TEST_RECORD5;
"
"
" /*
"
" *功能:用來說明自定義記錄的使用,在update set子句中使用記錄變數
"
" *範圍:適用於處理單行多列的資料
"
"
"
" */
"
"BEGIN
"
" --自定義記錄型別,dept_record代表DEPT表中的一行
"
" DECLARE
"
" DEPT_RECORD DEPT%ROWTYPE;
"
" --為記錄成員給值
"
" BEGIN
"
" DEPT_RECORD.DEPTNO := '3';
"
" DEPT_RECORD.DNAME := 'test';
"
" DEPT_RECORD.LOC := 'life';
"
" --資料操作處理部分
"
" UPDATE dept SET ROW = dept_record WHERE deptno =1;
"
" COMMIT;
"
" END;
"
"END TEST_RECORD5;
"
"PROCEDURE TEST_RECORD6 AS
"
" /*
"
" *功能:用來說明自定義記錄的使用,在update set子句中使用記錄成員
"
" *範圍:適用於處理單行多列的資料
"
"
"
" */
"
"BEGIN
"
" --自定義記錄型別,dept_record代表DEPT表中的一行
"
" DECLARE
"
" DEPT_RECORD DEPT%ROWTYPE;
"
" --為記錄成員給值
"
" BEGIN
"
" DEPT_RECORD.DEPTNO := '3';
"
" DEPT_RECORD.DNAME := 'test';
"
" DEPT_RECORD.LOC := 'cd';
"
" --資料操作處理部分
"
" UPDATE dept SET loc = dept_record.loc WHERE deptno =3;
"
" COMMIT;
"
" END;
"
"END TEST_RECORD6;
"
" /*
"
" *功能:用來說明自定義記錄的使用,在update set子句中使用記錄成員
"
" *範圍:適用於處理單行多列的資料
"
"
"
" */
"
"BEGIN
"
" --自定義記錄型別,dept_record代表DEPT表中的一行
"
" DECLARE
"
" DEPT_RECORD DEPT%ROWTYPE;
"
" --為記錄成員給值
"
" BEGIN
"
" DEPT_RECORD.DEPTNO := '3';
"
" DEPT_RECORD.DNAME := 'test';
"
" DEPT_RECORD.LOC := 'cd';
"
" --資料操作處理部分
"
" UPDATE dept SET loc = dept_record.loc WHERE deptno =3;
"
" COMMIT;
"
" END;
"
"END TEST_RECORD6;
"PROCEDURE TEST_RECORD7 AS
"
" /*
"
" *功能:用來說明自定義記錄的使用,在delete子句中使用記錄成員
"
" *範圍:適用於處理單行多列的資料
"
"
"
" */
"
"BEGIN
"
" --自定義記錄型別,dept_record代表DEPT表中的一行
"
" DECLARE
"
" DEPT_RECORD DEPT%ROWTYPE;
"
" --為記錄成員給值
"
" BEGIN
"
" DEPT_RECORD.DEPTNO := '3';
"
" DEPT_RECORD.DNAME := 'test';
"
" DEPT_RECORD.LOC := 'cd';
"
" --資料操作處理部分
"
" DELETE FROM dept WHERE deptno = dept_record.deptno;
"
" COMMIT;
"
" END;
"
"END TEST_RECORD7;
"
"
"
" /*
"
" *功能:用來說明自定義記錄的使用,在delete子句中使用記錄成員
"
" *範圍:適用於處理單行多列的資料
"
"
"
" */
"
"BEGIN
"
" --自定義記錄型別,dept_record代表DEPT表中的一行
"
" DECLARE
"
" DEPT_RECORD DEPT%ROWTYPE;
"
" --為記錄成員給值
"
" BEGIN
"
" DEPT_RECORD.DEPTNO := '3';
"
" DEPT_RECORD.DNAME := 'test';
"
" DEPT_RECORD.LOC := 'cd';
"
" --資料操作處理部分
"
" DELETE FROM dept WHERE deptno = dept_record.deptno;
"
" COMMIT;
"
" END;
"
"END TEST_RECORD7;
"
"
"PROCEDURE TEST_RECORD8 AS
"
"/*
"
"*功能:用來說明索引表的使用
"
"*範圍:適用於處理多行多列的資料
"
"
"
"*/
"
"BEGIN
"
" --自定義記錄型別
"
" DECLARE
"
" TYPE ename_table_type IS TABLE OF emp.ename%TYPE INDEX BY BINARY_INTEGER;
"
" ename_table ename_table_type;
"
" --資料操作處理部分
"
" BEGIN
"
" SELECT ename INTO ename_table(-1) FROM emp WHERE empno=7369;
"
" DBMS_OUTPUT.PUT_LINE(ename_table(-1));
"
"
"
" END;
"
"END TEST_RECORD8;
"
"
"/*
"
"*功能:用來說明索引表的使用
"
"*範圍:適用於處理多行多列的資料
"
"
"
"*/
"
"BEGIN
"
" --自定義記錄型別
"
" DECLARE
"
" TYPE ename_table_type IS TABLE OF emp.ename%TYPE INDEX BY BINARY_INTEGER;
"
" ename_table ename_table_type;
"
" --資料操作處理部分
"
" BEGIN
"
" SELECT ename INTO ename_table(-1) FROM emp WHERE empno=7369;
"
" DBMS_OUTPUT.PUT_LINE(ename_table(-1));
"
"
"
" END;
"
"END TEST_RECORD8;
"
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15720542/viewspace-676820/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- map 型別 - Go 學習記錄型別Go
- 資料型別 - Go 學習記錄資料型別Go
- 【Java】Java新特性--Records記錄型別Java型別
- PL/SQL基本結構---PLSQL複合型別---表型別變數tableSQL型別變數
- 記錄oss連結型別PDF預覽型別
- CSS基礎概念記錄之元素型別CSS型別
- C#學習 [型別系統] 記錄(14)C#型別
- DNS常見資源記錄型別詳解DNS型別
- 中科三方:DNS解析記錄型別詳解DNS型別
- DNS解析記錄有哪些型別?分別代表什麼含義?DNS型別
- Hellow C# unity學習記錄(7)值型別引用型別以及引數傳遞C#Unity型別
- 幾種不常見的DNS解析記錄型別介紹DNS型別
- Redis學習記錄三:資料型別(常用:詳細解析)Redis資料型別
- 2011-10-17 記錄型別判斷非空的辦法型別
- 【YashanDB知識庫】oracle dblink varchar型別查詢報錯記錄Oracle型別
- Java備忘錄《資料型別》Java資料型別
- 使用Java 14的新記錄型別連線資料庫表 - MinborgJava型別資料庫
- C#學習筆記之值型別與引用型別C#筆記型別
- c++基本型別筆記C++型別筆記
- MySQL資料型別筆記MySql資料型別筆記
- WPF筆記7——TypeConverter型別筆記型別
- python筆記--資料型別Python筆記資料型別
- oracle plsqlOracleSQL
- unity開發之知識記錄篇(color和string型別的相互轉換)Unity型別
- ThreadLocal原理記錄,別被坑了!!thread
- Go型別特性-學習筆記Go型別筆記
- Go 筆記之資料型別Go筆記資料型別
- Redis 筆記(核心資料型別)Redis筆記資料型別
- TypeScript筆記(二)高階型別TypeScript筆記型別
- 基本資料型別與引用資料型別,及記憶體分配資料型別記憶體
- 隨手記一記之【JS資料型別】JS資料型別
- 中科三方域名管理專題:域名解析記錄型別有哪些(上)型別
- PLSQL Developer 14SQLDeveloper
- plsql use skillsSQL
- plsql配置使用SQL
- TS學習筆記(一):基本型別筆記型別
- MySQL8 JSON型別使用筆記MySqlJSON型別筆記
- C語言筆記——自定義型別C語言筆記型別
- Python 學習筆記——資料型別Python筆記資料型別