首先我們來看看代碼,然后我們在說明和解釋代碼:
declare l_dept integer := 20; currtime date := sysdate; l_nam varchar2(20) := to_char(add_months(trunc(sysdate),-12),'yyyymmdd'); -- to_char(sysdate,'MM')-13; type num_list is varray(4) of number; arr_id num_list := num_list(100,101,123,33,234); begin l_dept := 30; dbms_output.put_line(l_dept); dbms_output.put_line(currtime); dbms_output.put_line(l_nam); dbms_output.put_line(arr_id(1)); end;
變量的定義:
l_dept定義的是整型,
currtime為日期型,
l_nam為字符型並往前退12個月的日期賦值,而-- to_char(sysdate,'MM')-13;會出現負數。
type num_list is varray(4) of number;則是定義數據類型為整型的數組,並且數組長度為4,
arr_id num_list := num_list(100,101,123,33,234);則使用num_list定義的數組類型定義arr_id變量,並為arr_id賦值。
dbms_output.put_line函數則會在DMS Output選項卡中輸出,注意:dbms_output.put_line必須放到begin和end之內。
==
下面我們在看一個:
truncate table t4; --清空表里的數據 declare op nvarchar2(100); i int ; j int :=100; begin while j<200 loop select nvl(max(id),0) +1 into i from t4; insert into t4 values(i,j,'test'||i); dbms_output.put_line(i); j:=j+1; end loop; end; -- select * from t4;