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

歡迎訪問 生活随笔!

生活随笔

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

数据库

Oracle入门(十四.4)之在PL / SQL中使用变量

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

一、變量的使用

(1)使用變量的原因

?臨時存儲數據
?儲存值的操作
?可重用性


(2)處理PL / SQL中的變量

變量是:
?在聲明部分聲明并初始化
?在可執行部分中使用并分配新值
變量可以是:
?作為參數傳遞給PL / SQL子程序
?分配以保存PL / SQL子程序的輸出

(3)聲明變量

在PL / SQL塊中引用所有PL / SQL變量之前,必須在聲明部分聲明它們。
?聲明的目的是為值分配存儲空間,指定其數據類型并命名存儲位置以便引用它。

?您可以在任何PL / SQL塊,子程序或包的聲明部分聲明變量。

語法

identifier [CONSTANT] datatype [NOT NULL] [:= expr | DEFAULT expr];

(4)初始化變量

變量在DECLARE部分中分配一個內存位置。 變量可以同時分配一個值。 這個過程稱為初始化。

DECLARE v_counter INTEGER := 0; BEGINv_counter := v_counter + 1;DBMS_OUTPUT.PUT_LINE(v_counter); END;

(5)聲明和初始化變量示例1

DECLAREfam_birthdateDATE;fam_size NUMBER(2) NOT NULL := 10;fam_location VARCHAR2(13) := 'Florida';fam_bank CONSTANT NUMBER := 50000;fam_population INTEGER;fam_name VARCHAR2(20) DEFAULT 'Roberts';fam_party_size CONSTANT PLS_INTEGER := 20;

(6)聲明和初始化變量示例2

DECLAREv_emp_hiredate DATE;v_emp_deptno NUMBER(2) NOT NULL := 10;v_location VARCHAR2(13) := 'Atlanta';c_comm CONSTANT NUMBER := 1400;v_population INTEGER;v_book_type VARCHAR2(20) DEFAULT 'fiction';v_artist_nameVARCHAR2(50);v_firstname VARCHAR2(20):='Rajiv';v_lastname VARCHAR2(20) DEFAULT 'Kumar';c_display_no CONSTANT PLS_INTEGER := 20; …

二、在可執行部分中分配值

聲明變量后,可以在PL / SQL塊的可執行部分中使用它。 例如,在下面的塊中,變量v_myname在塊的聲明部分中聲明。 您可以在同一個塊的可執行部分訪問此變量。 你認為這個塊會打印什么?

DECLAREv_myname VARCHAR2(20); BEGINDBMS_OUTPUT.PUT_LINE('My name is: '||v_myname);v_myname := 'John';DBMS_OUTPUT.PUT_LINE('My name is: '||v_myname); END;

(1)在可執行部分中分配值

例1
在這個例子中,值John被分配給可執行部分中的變量。 該變量的值與串?My name is:。
輸出是:

My name is:
My name is: John

Statement process.

例2

在此塊中,變量v_myname在聲明部分中聲明并初始化。 初始化后,v_myname保存值John。 該值在塊的可執行部分中進行處理。

DECLAREv_myname VARCHAR2(20):= 'John'; BEGINv_myname := 'Steven';DBMS_OUTPUT.PUT_LINE('My name is: '||v_myname); END;

輸出是:

My name is: Steven Statement processed.

(2)將變量作為參數傳遞給PL / SQL子程序

參數是由用戶或另一個程序傳遞給程序以定制程序的值。 在PL / SQL中,子程序可以帶參數。 您可以將變量作為參數傳遞給過程和函數。 在以下示例中,參數v_date正被傳遞給過程PUT_LINE,該過程是包DBMS_OUTPUT的一部分。

DECLAREv_date VARCHAR2(30); BEGINSELECT TO_CHAR(SYSDATE) INTO v_date FROM dual;DBMS_OUTPUT.PUT_LINE(v_date); END;

(3)分配變量到PL / SQL子程序輸出

您可以使用變量來保存函數返回的值。

--function to return number of characters in string FUNCTION num_characters (p_string IN VARCHAR2) RETURN INTEGER ISv_num_characters INTEGER; BEGINSELECT LENGTH(p_string) INTO v_num_characters FROM dual;RETURN v_num_characters; END; --anonymous block: assign variable to function output DECLAREv_length_of_string INTEGER; BEGINv_length_of_string := num_characters('Oracle Corporation');DBMS_OUTPUT.PUT_LINE(v_length_of_string); END;


總結

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

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