oracle学习之PLSQL(一)-基础

oracle学习之PLSQL(1)--基础
/*
(一)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
小结:在块结构嵌套过程中,内部的块结构可以引用外部的参数并进行操作,但其自身的参数不被外部共享;
*/
--