oracle学习之PLSQL(一)-基础
oracle学习之PLSQL(1)--基础
/*
(一)PLSQL的基本结构
(二)如何执行PL/SQL
1.创建块结构,在"end;"后加'/';
2.在SQL/PLUS下执行时,需要先进行set serveroutput on
*/
--基本数据类型练习输出
--带有逻辑结构的例子
--块结构嵌套
/*out print:
inner v1 v2 v3:110 210 300
outer v1 v2 v3:100 210 400
小结:在块结构嵌套过程中,内部的块结构可以引用外部的参数并进行操作,但其自身的参数不被外部共享;
*/
--
/*
(一)PLSQL的基本结构
Header IS DECLARATION SECTION BEGIN EXECUTION SECTION EXCEPTION EXCEPTION SECTION END;
(二)如何执行PL/SQL
1.创建块结构,在"end;"后加'/';
2.在SQL/PLUS下执行时,需要先进行set serveroutput on
*/
--基本数据类型练习输出
Declare V_num number(4,2); V_char varchar2(20); V_date date; V_boolean Boolean; Begin V_num:=12.22; V_char:='how are you'; V_date:='12-1月-2006'; V_boolean:=true; Dbms_output.put_line(v_num); Dbms_output.put_line(V_char); Dbms_output.put_line(V_date); -- dbms_output.put_line(v_boolean); -- 布尔型不可以直接打印 if v_boolean=true then Dbms_output.put_line('true'); end if; end; /
--带有逻辑结构的例子
CREATE OR REPLACE PROCEDURE pay_out_balance ( account_id_in IN accounts.id%TYPE) IS l_balance_remaining NUMBER; BEGIN LOOP l_balance_remaining := account_balance (account_id_in); IF l_balance_remaining < 1000 THEN EXIT; ELSE apply_balance (account_id_in, l_balance_remaining); END IF; END LOOP; END pay_out_balance; /
--块结构嵌套
declare v1 number(6); v2 number(6); v3 number(6); begin v1 :=100; v2 :=200; declare v1 number(6); v4 number(6); begin v1:=110; v2:=210; v4:=300; dbms_output.put_line('inner v1 v2 v3:'||v1||' '||v2||' '||v4); end; v3 :=400; --dbms_output.put_line('outer v1 v2 v3:'||v1||' '||v2||' '||v3||' '||v4); dbms_output.put_line('outer v1 v2 v3:'||v1||' '||v2||' '||v3); end; /
/*out print:
inner v1 v2 v3:110 210 300
outer v1 v2 v3:100 210 400
小结:在块结构嵌套过程中,内部的块结构可以引用外部的参数并进行操作,但其自身的参数不被外部共享;
*/
--