包的作用域是什么,是全局的还是仅限于某客户端?

[复制链接]
查看11 | 回复0 | 2009-1-29 01:01:03 | 显示全部楼层 |阅读模式
定义一个包
CREATE OR REPLACEPACKAGE "DOCU"."PKG_UPD_REC" as
G_KEY2 NUMBER(2):=0;
end;
定义一个行级触发器
CREATE OR REPLACE TRIGGER "DOCU"."TRG_UPD_REC" AFTER
INSERT ON "DOCU"."DOCUMENT" FOR EACH ROW DECLARE
flag INT;
BEGIN
PKG_UPD_REC.G_KEY2:=:NEW.document_no;
END IF;
END;
定义一个表级触发器
CREATE OR REPLACE TRIGGER "DOCU"."TRG_UPD_REC_ALL" AFTER
INSERT ON "DOCU"."DOCUMENT"
BEGIN

UPDATE DOCUMENT SET ENTERED_DATE=SYSDATE WHERE DOCUMENT_NO=PKG_UPD_REC.G_KEY2;
PKG_UPD_REC.G_KEY2 :=0;
END;
目的是,当行级触发器发现符合条件的记录时,保存该条记录的document_no,然后在表级触发器里更新本表中该document_no的其条几条记录。
问题是,当不同的客户端插入表时,每个客户端保存的PKG_UPD_REC.G_KEY2是否会相互覆盖?
包的作用域是什么,是全局的还是仅限于某客户端?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行