ORACLE 变量定义

 1 DECLARE
2 v_productid productinfo.productid%TYPE;
3 v_productname VARCHAR2(20);
4 v_productprice   NUMBER(8,2);
5 v_quantity   NUMBER(10);
6 v_desperation   CONSTANT v_productname%TYPE:='测试';
7
8 v_spitgr SIMPLE_INTEGER := 99.9;
9 v_long LONG :='long类型测试';
10 v_date DATS :=SYSDATE;
11 BEGIN
12 SELECT productid,productname,productprice,quantity
13 INTO v_productid,v_productname,v_productprice,v_quantity
14 FROM productinfo
15 WHERE pro = '';
16
17 DBMS_OUTPUT.PUT_LINE('v_productid = ' || v_productid);
18 DBMS_OUTPUT.PUT_LINE('v_productname = ' || v_productname
19 || ' 长度 = '||LENGTH(v_productname));
20 DBMS_OUTPUT.PUT_LINE('v_productprice = ' || v_productprice);
21 DBMS_OUTPUT.PUT_LINE('v_quantity = ' || v_quantity);
22 DBMS_OUTPUT.PUT_LINE('v_desperation = ' || v_desperation);
23 DBMS_OUTPUT.PUT_LINE('v_spitgr = ' || v_spitgr);
24 DBMS_OUTPUT.PUT_LINE('v_long = '      || v_long);
25 DBMS_OUTPUT.PUT_LINE('v_date = '      || v_date);
26 END;

【代码解析】

该语句块中的声明部分采用了右对齐的方式

第2行利用%TYPE方式声明变量,表示变量v_productid的类型同表productinfo中的productid字段数据类型一致

第3行表示数据类型是长度为20的VARCHAR2型

第4 ~ 5行是NUMBER类型的不同使用方式

第6行利用%TYPE引用了v_productname的数据类型,并且声明了一个常量

第8行初始值是99.9,但由于数据类型只能表示整数,所以变量v_spitgr的值应为100

第11 ~ 26行属于执行体部分

第12 ~ 15行表示从产品表查询数据,并存储到变量中

第17 ~ 25行表示输出结果到屏幕,用于验证变量存储数据

上一篇:ORACLE变量定义及使用(另,T-SQL EXISTS的PLSQL替代写法)


下一篇:Oracle变量的定义、赋值及使用