網站首頁 編程語言 正文
1、%TYPE
為了使一個新定義的變量與另一個已經定義了的變量(通常是表的某一列)的數據類型保持一致,Oracle提供了%Type的定義方式,當被參照的那個變量的數據類型發生改變時,那么這個新定義的變量的數據類型也會隨之發生改變,這種定義方式類似與其他編程語言中的"var",其類型不由自己決定。而是由與之關聯的對象決定。這樣就不用修改Sql語句了,當不能確切的知道那個變量的類型是,就采用這種方法來定義變量的數據類型。
DECLARE
V_ORG_NAME SF_ORG.ORG_NAME%TYPE; --與ORG_NAME類型相同
V_PARENT_ID SF_ORG.PARENT_ID%TYPE;--與PARENT_ID類型相同
BEGIN
SELECT ORG_NAME,PARENT_ID INTO V_ORG_NAME,V_PARENT_ID
FROM SF_ORG SO
WHERE SO.ORG_ID=&ORG_ID;
DBMS_OUTPUT.PUT_LINE('部門名稱:' || V_ORG_NAME);
DBMS_OUTPUT.PUT_LINE('上級部門編碼:' || TO_CHAR(V_PARENT_ID));
END;
2、%RowType
如果一個表有較多的列,使用%ROWTYPE來定義一個表示表中一行記錄的變量,比分別使用%TYPE來定義表示表中各個列的變量要簡潔得多,并且不容易遺漏、出錯。這樣會增加程序的可維護性。
???為了使一個變量的數據類型與一個表中記錄的各個列的數據類型相對應、一致,Oracle提供%ROWTYPE定義方式。當表的某些列的數據類型改變了之后,這個新定義的變量的數據類型會自動跟隨其改變,容易保持一致,也不用修改PL/SQL程序了。當不能確切地知道被參照的那個表的結構及其數據類型時,就只能采用這種方法定義變量的數據類型。
???一行記錄可以保存從一個表或游標中查詢到的整個數據行的各列數據。一行記錄的各個列與表中一行的各個列有相同的名稱和數據類型。
DECLARE
V_SF_ORG_REC SF_ORG%ROWTYPE; --與SF_ORG表中的各個列相同
BEGIN
SELECT * INTO V_SF_ORG_REC
FROM SF_ORG SO
WHERE SO.ORG_ID=&ORG_ID;
DBMS_OUTPUT.PUT_LINE('部門ID:' || TO_CHAR(V_SF_ORG_REC.ORG_ID));
DBMS_OUTPUT.PUT_LINE('部門名稱:' || V_SF_ORG_REC.ORG_NAME);
DBMS_OUTPUT.PUT_LINE('上級部門編碼:' || TO_CHAR(V_SF_ORG_REC.PARENT_ID));
END;
原文鏈接:https://www.cnblogs.com/fhuafeng/p/16903085.html
相關推薦
- 2022-08-03 Python?解析獲取?URL?參數及使用步驟_python
- 2022-06-09 Python中文分詞庫jieba(結巴分詞)詳細使用介紹_python
- 2022-04-03 Python中的tkinter庫簡單案例詳解_python
- 2022-11-29 React?中?memo?useMemo?useCallback?到底該怎么用_React
- 2022-04-11 C++17之std::visit的具體使用_C 語言
- 2023-04-04 C/C++關于實現CAN信號的獲取方法_C 語言
- 2023-11-23 pyside6兩個按鈕,一個控制子線程的開始,暫停,。一個控制子線程結束
- 2023-03-20 pip安裝python庫時報Failed?building?wheel?for?xxx錯誤的解決方法
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支