PL/SQL 执行体结构:
DECLARE
-- 声明变量信息 ,v_a number , 声明 number 类型变量 v_a
BEGIN
-- 业务执行逻辑 ,dbms_output.put_line('holle !') , 打印 helle! 字符串
END;
-- 结束 PL/SQL 业务执行体
变量声明:
变量名称 变量类型;
v_name varchar2(20) -- 声明 varchar2(20) 类型变量 v_name
变量赋值:
v_name := '小明';
字符串拼接:
|| 拼接符
分支结构:
IF 判断条件 THEN 逻辑流程
ELSEIF 判断条件 THEN 逻辑流程
ELSE 逻辑流程
END IF; -- 结束 IF 语句
IF i == 0 THEN dbms_output.put_line('当前 i 等于 0 !') ;
ELSEIF i == 1 THEN dbms_output.put_line('当前 i 等于 1 !') ;
ELSE dbms_output.put_line('当前 i 不等于 0 OR 1 !') ;
循环结构体:
FOR 元素变量 IN 集合 LOOP
-- 业务逻辑
END LOOP;
FOR i IN 1..5 LOOP
dbms_output.put_line('i') -- 打印 i 信息
END LOOP;
游标结构体:
CURSOR 游标名 IS 数据源
CURSOR C_TEST IS SELECT amount FROM DUAL;
存储过程结构体:
无参存储过程
CREATE OR REPLACE PROCEDURE 存储过程名称
IS
-- 声明变量
BEGIN
-- 业务逻辑
END;
CREATE OR REPLACE PROCEDURE PRO_DEMO
IS
v_name varcher2(20);
BEGIN
v_name := '小明';
dbms_output.put_line('v_name: ' || v_name);
END;
有参存储过程
IN 输入参数 , OUT 输出参数 ,( IN OUT 表示该参数为输入输出参数)
CREATE OR REPLACE PROCEDURE 名称 (参数名称 IN 参数类型,参数名称 OUT 参数类型)
IS
-- 声明变量
BEGIN
-- 业务逻辑
END;
CREATE OR REPLACE PROCEDURE PRO_DEMO
(v_1 IN NUMBER, v_2 OUT NUMBER, v_3 IN OUT NUMBER)IS
BEGIN
v_1 := '1'; v_2 := '2';
dbms_output.put_line('v_1: ' || v_1 || 'v_2: ' || v_2 );
END;