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