- Oracle數據庫編程經典300例
- 肖俊宇編著
- 499字
- 2018-12-30 10:29:38
實例014 使用記錄類型輸出數據表中的一行
【實例描述】
實例013介紹了PL/SQL的常量和變量的使用,除此之外,PL/SQL還提供了兩個屬性數據類型。當聲明一個變量的值是數據庫中的一行或者是數據庫中某列時,可以直接使用屬性類型來聲明。其中,屬性數據類型% ROWTYPE表示引用數據庫中的一行(一條記錄),因此也將其稱為記錄類型。
本實例從數據表STUDENT中獲取學號為“120004”的學生信息,并將其姓名、年齡、性別和所在班級輸出在SQL*Plus控制端中,其中數據表STUDENT的初始數據如圖1-28所示,本實例的執行結果如圖1-35所示。

圖1-35 使用記錄類型輸出數據表中的一行
【實現代碼】
SQL> SET SERVEROUTPUT ON SQL> DECLARE 2 mystu STUDENT%ROWTYPE; 3 BEGIN 4 SELECT * INTO mystu FROM STUDENT WHERE sno='120004'; 5 DBMS_OUTPUT.PUT_LINE(MYSTU.SNAME); 6 DBMS_OUTPUT.PUT_LINE(MYSTU.SAGE); 7 DBMS_OUTPUT.PUT_LINE(MYSTU.SGENTLE); 8 DBMS_OUTPUT.PUT_LINE(MYSTU.SDEPT); 9 END; 10 /
【范例解析】
本實例使用了%ROWTYPE記錄數據類型,其引用數據庫表中的一行作為數據類型,即RECORD類型(記錄類型),它是PL/SQL附加的數據類型。表示一條記錄,就相當于C#中的一個對象。可以使用“.”來訪問記錄中的屬性。
上述代碼中首先聲明了mystu對象,其數據類型為STUDENT %ROWTYPE,表示其為數據表STUDENT的一行,然后通過SELECT語句從數據表中獲取一條記錄到mystu對象中,最后通過DBMS_OUTPUT.PUT_LINE語句輸出該行記錄的某些屬性。
注意:訪問和調用記錄類型對象的屬性需要使用符號“.”,這與C/C++語言中引用結構體等數據類型的屬性相同
推薦閱讀
- 微服務設計(第2版)
- LaTeX Cookbook
- 程序員面試筆試寶典
- Clojure for Domain:specific Languages
- Windows Server 2012 Unified Remote Access Planning and Deployment
- 概率成形編碼調制技術理論及應用
- Scientific Computing with Scala
- 機器學習微積分一本通(Python版)
- PHP 7從零基礎到項目實戰
- Spring 5 Design Patterns
- Django 5企業級Web應用開發實戰(視頻教學版)
- 黑莓(BlackBerry)開發從入門到精通
- 一覽眾山小:ASP.NET Web開發修行實錄
- Magento 2 Developer's Guide
- C#入門經典(第7版):C# 6.0 & Visual Studio 2015(.NET開發經典名著)