日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Oracle入门(十四.3)之创建PL / SQL块

發布時間:2023/12/3 数据库 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle入门(十四.3)之创建PL / SQL块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、PL / SQL塊結構

一個PL / SQL塊由三部分組成。


PL / SQL塊結構部分



二、PL / SQL編譯器

????用高級編程語言(C,Java,PL / SQL等)編寫的每個程序都必須經過檢查并轉換為二進制代碼(1和0),然后才能執行。 執行此檢查和翻譯的軟件稱為編譯器。


????PL / SQL編譯器在需要時自動執行。 它不僅檢查每個單詞拼寫是否正確,而且還檢查是否存在任何引用的數據庫對象(如表),并且用戶具有訪問它們的必要特權。


三、匿名塊

(1)匿名塊的特征
?未命名的塊
?未存儲在數據庫中
?在其執行的應用程序中的內部聲明為內聯
?每次執行應用程序時編譯
?傳遞給PL / SQL引擎以在運行時執行

?無法調用或調用,因為它沒有名稱,執行后不存在

[DECLARE] BEGIN--statements [EXCEPTION] END;(2)匿名塊的例子

沒有聲明或異常部分,只執行

BEGINDBMS_OUTPUT.PUT_LINE('PL/SQL is easy!'); END;

宣言和執行部分,但沒有例外部分

DECLAREv_date DATE := SYSDATE; BEGINDBMS_OUTPUT.PUT_LINE(v_date); END;

宣言和例外部分

DECLAREv_country_name VARCHAR2(40);v_region_id NUMBER; BEGINSELECT country_name, region_idINTO v_country_name, v_region_idFROM countries WHERE country_id='CA';DBMS_OUTPUT.PUT_LINE ('The country name is: '||v_country_name||' and is located in '||v_region_id||'.') ; EXCEPTIONWHEN TOO_MANY_ROWS THENDBMS_OUTPUT.PUT_LINE ('Your select statement retrieved multiple rows. Consider using a cursor.'); END;


四、子程序

(1)子程序
?命名為PL / SQL塊
?存儲在數據庫中

?可以根據您的應用程序隨時調用

?可以聲明為程序或功能
- 過程:執行操作
- 功能:計算并返回一個值

PROCEDURE name IS--variable declaration(s) BEGIN--statements [EXCEPTION] END; FUNCTION name RETURN datatype--variable declaration(s) IS BEGIN--statementsRETURN value; [EXCEPTION] END;(2)子程序的例子

打印當前日期的過程

CREATE PROCEDURE print_date ISv_date VARCHAR2(30); BEGINSELECT TO_CHAR(SYSDATE,'Mon DD, YYYY')INTO v_dateFROM DUAL;DBMS_OUTPUT.PUT_LINE(v_date); END;

函數返回字符串中的字符數

CREATE PROCEDURE print_date ISv_date VARCHAR2(30); BEGINSELECT TO_CHAR(SYSDATE,'Mon DD, YYYY')INTO v_dateFROM DUAL;DBMS_OUTPUT.PUT_LINE(v_date); END; CREATE FUNCTION num_characters (p_string IN VARCHAR2)RETURN INTEGER ISv_num_characters INTEGER; BEGINSELECT LENGTH(p_string) INTO v_num_charactersFROM DUAL;RETURN v_num_characters; END;


五、程序構造

下表概述了使用基本PL / SQL塊的各種不同的PL / SQL程序結構。 這些構造是基于它們被執行的環境而提供的。



六、PL / SQL編程環境

有許多工具為環境提供了一個環境開發PL / SQL。 Oracle提供了幾種工具可以使用。 一些Oracle開發工具是:



七、Oracle Application Express

Oracle Application Express是一個基于瀏覽器的Web應用程序環境,它提供了SQL Workshop組件。



八、使用SQL Workshop進行開發

當您登錄到Oracle Application Express并選擇SQL Workshop時,可以選擇使用SQL命令選項來使用SQL命令行編輯器,也可以選擇SQL腳本選項在腳本編輯器中工作。



九、SQL命令

您可以使用SQL命令輸入并運行單個SQL語句或單個PL / SQL塊。 SQL腳本可以包含一個或多個SQL語句和/或PL / SQL塊。 使用SQL腳本輸入并運行多語句腳本。



使用DBMS_OUTPUT.PUT_LINE示例
看看這個簡單的PL / SQL塊和它的輸出。 你如何顯示結果?



使用DBMS_OUTPUT.PUT_LINE

讓我們添加一個對DBMS_OUTPUT.PUT_LINE的調用。 現在你可以看到結果!



DBMS_OUTPUT.PUT_LINE允許您顯示結果,以便您可以檢查您的塊是否正常工作。 它允許您一次顯示一個字符串,但可以將它們連接起來。

DECLAREv_emp_count NUMBER; BEGINDBMS_OUTPUT.PUT_LINE('PL/SQL is easy so far!');SELECT COUNT(*) INTO v_emp_count FROM employees;DBMS_OUTPUT.PUT_LINE('There are '||v_emp_count||'rows in the employees table'); END;


總結

以上是生活随笔為你收集整理的Oracle入门(十四.3)之创建PL / SQL块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。