Oracle入门(十四F)之PL/SQL定义变量
一、變量介紹
(1)變量的使用
可以使用變量:
- 臨時存儲數據
- 存儲值的操作
- 可重用性
(2)PL/SQL中的變量處理
變量是:
- 在聲明部分中聲明和初始化
- 在可執行部分中使用和分配新值
- 作為參數傳遞給PL/SQL子程序
- 指定保存PL/SQL子程序的輸出
(3)聲明和初始化PL/SQL變量
所有的PL/SQL變量都必須聲明在引用之前的聲明部分在PL/SQL塊中。
聲明的目的是分配為值存儲空間,指定其數據類型,并將存儲位置命名為你可以引用。
可以在聲明語句中聲明變量任何PL/SQL塊、子程序或包。
二、變量聲明和初始化變量
(1)語法
? identifier? ? ?定義該變量的名字
? CONSTANT? 約束變量的值不可修改,常量必須在定義時初始化
? datatype? ? ?可以是標量、復合、引用或LOB數據類型。(本課程只包括標量、復合和LOB數據類型)。
? NOT NULL? ?約束該變量必須有值?(NOT NULL變量必須被初始化)
? Expr? ? ? ? ? ? ?可以是字面量表達式、另一個變量或包含操作符與函數的表達式的任何PL/SQL表達式
(2)習慣
小寫斜體表示變量或占位符。
括號([…])包含一個或多個可選項,不插入括號。
豎桿代表在括號內兩個或多個選項的選擇,不要插入垂直條。
(3)聲明和初始化變量
示例
declare v_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_name varchar2(50); v_firstname varchar2(20):='rajiv'; v_lastname varchar2(20) default 'kumar'; c_display_no constant pls_integer := 20; …(4)在可執行部分中賦值
????在聲明變量之后,可以在可執行文件中使用它作為PL/SQL塊的一部分。例如,在下面的塊中,變量v_myname在聲明性部分塊中聲明。可以在同樣的塊的可執行部分中訪問此變量。你認為這個代碼塊會輸出什么?
declare v_myname varchar2(20); begin dbms_output.put_line('my name is: '||v_myname); v_myname := 'John'; dbms_output.put_line('my name is: '||v_myname); end;在這個示例中,將值約翰賦值給可執行部分。變量的值是關聯My name is:
輸出是:
my name is:?
my name is: John
在這個塊中,變量v_myname被聲明并初始化在聲明部分。v_myname在初始化后持有為約翰的值。此值在可執行部分中被操作。
declare v_myname varchar2(20):= 'john'; begin v_myname := 'Steven'; dbms_output.put_line('my name is: '||v_myname); end;輸出:
my name is: Steven
(5)將變量作為參數傳遞給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;將變量賦值給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入门(十四F)之PL/SQL定义变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenAI 悄然修改核心价值观,将全力
- 下一篇: Oracle入门(十四G)之PL / S