Oracle聲明變量及變量使用(測試腳本)

Oracle測試腳本分為:變量聲明和腳本兩部分。

下面以做過的實例舉例說明:(向表A:t_white_list 中批量插入數據,且表A中字段BUSINESS_ID值取另一個表B:t_comm_member中的member_id字段;表A中字段WHITE_LIST_ID為uuid隨機唯一值)

###編寫思路:

1.首先定義變量,在Declare下定義(表A,字段如下:)

????(1)WHITE_LIST_ID:uuid,變量;? ? ? ?>>uuid varchar2(40);

????(2)BUSINESS_ID:表t_comm_member中的member_id字段,變量;? ?>>由于該字段值從表B中批量取值,為數組類型,我們首先要先定義一個數組類型,再聲明變量

? ? ? ? >>?/*自定義數組類型,‘varchar(40)’是數組內元素的類型,‘index by binary_integer’表示數組內索引 */

? ? ? ? >> type array_type is table of varchar(40) index by binary_integer;

? ? ? ? >>?m_array array_type;? /*聲明變量 m_array?,類型為上面定義的類型*/

????(3)type:0 --表示用戶,常量? ? ?>>tp number:= 0;

????(4)hospatal:醫(yī)院id,常量? ? ? ?>>hospatal varchar2(40) := 'abcdefg123456';

????(5)create_date:創(chuàng)建時間,默認當前時間,格式:yyyy-MM-dd hh24:mm:dd,變量? ? ? >>currentdate date := sysdate;

2.變量定義完成后,開始編寫腳本

查詢表B,并將結果賦值給數組(查詢表t_comm_member中member_id的值并作為數組賦值給上述聲明的m_array變量)

>>>select member_id? bulk collect? into m_array? from t_comm_member? where username like '16111%';

3.使用for循環(huán)

for i in 1 .. m_array.count loop

? ? --select查詢get_uuid函數值并賦值給上述聲明的uuid變量

? ? select get_uuid into uuid from dual;

? ? insert into t_white_list

? ? ? (WHITE_LIST_ID, BUSINESS_ID, TYPE, HOSPITAL_ID, CREATE_TIME)

? ? values

? ? ? (uuid, m_array(i), tp, hospatal, currentdate);

? end loop;

到這里腳本完成,可批量插入數據。

上述實例中學習了:常量、變量、數組的定義方式,字符串、整數類型定義方式,從其他表中查詢數據并作為數組賦值給變量,uuid的取值,for循環(huán)等。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容