SQL包

--一个程序包由两部分组成:包定义和包体。
----其中包定义部分声明包内数据类型、变量、常量、游标、子程序和函数等元素,这些元素为包的共有元素。
--包主体则定义了包定义部分的具体实现。

---向包里放入程序
----创建一个包,包定义/包头

--包分为包头和包体。一层一个包。

--包的命名:PKG_包名
--创建包头
--语法:

CREATE OR REPLACE PACKAGE pkg_包名---包的名称
AS
---没有begin

END;

-------------------------
----创建一个包体

CREATE OR REPLACE PACKAGE BODY pkg_包名---包体名称要和包头保持一致
AS
---没有begin


END;

----运行包里的程序

BEGIN
pkg_dw.SP_DW_STORE;--用包名称加上.再加上存储过程名或者自定义函数名来运行
END;

例子:

--创建包头
CREATE OR REPLACE PACKAGE pkg_dw---包的名称
AS
---没有begin
 PROCEDURE SP_LOG(P_SP_NAME VARCHAR2,P_STEP_ID NUMBER,P_REMARK VARCHAR2);--存储过程名1
 PROCEDURE SP_DW_ROOM_DETAIL;   --存储过程名2
END;

--创建包体
CREATE OR REPLACE PACKAGE BODY pkg_dw---包体名称要和包头保持一致 (存储过程1)   
AS
---没有begin
PROCEDURE SP_LOG(P_SP_NAME VARCHAR2,P_STEP_ID NUMBER,P_REMARK VARCHAR2) AS
BEGIN
  INSERT INTO log_record
  (log_id, sp_name, step_id, finish_time, remark)
VALUES
  (S_TEST.NEXTVAL,P_SP_NAME,P_STEP_ID,SYSDATE,P_REMARK);
  COMMIT;
END;
------------------------------------
PROCEDURE SP_DW_ROOM_DETAIL AS --存储过程2
BEGIN
  DELETE FROM DW_ROOM_DETAIL;
(更新过程)
    COMMIT;
END;
END;

 

posted @ 2022-05-07 18:00  潜摩羯  阅读(118)  评论(0编辑  收藏  举报