oracle声明number变量,oracle – PL / SQL:如何声明会话变量?
您可以使用“用戶創(chuàng)建的上下文”來存儲會話中多個單元共享的數(shù)據(jù).
首先,創(chuàng)建一個上下文:
CREATE CONTEXT SYS_CONTEXT ('userenv','current_schema')|| '_ctx' USING PKG_COMMON
其次,創(chuàng)建一個可以管理您的上下文的包:
CREATE OR REPLACE PACKAGE PKG_COMMON
IS
common_ctx_name CONSTANT VARCHAR2 (60)
:= SYS_CONTEXT ('userenv','current_schema')
|| '_ctx';
FUNCTION fcn_get_context_name RETURN VARCHAR2;
PROCEDURE prc_set_context_value (var_name VARCHAR2,var_value NUMBER);
END;
CREATE OR REPLACE PACKAGE BODY PKG_COMMON
IS
FUNCTION fcn_get_context_name
RETURN VARCHAR2
IS
BEGIN
RETURN common_ctx_name;
END;
PROCEDURE prc_set_context_value (var_name VARCHAR2,var_value NUMBER)
IS
BEGIN
DBMS_SESSION.set_context (common_ctx_name,var_name,var_value);
END;
END;
prc_set_context_value可以更高級,這只是一個例子.
隨著上下文和包創(chuàng)建,您可以開始使用它們.
使用過程調(diào)用設置上下文變量
begin
PKG_COMMON.prc_set_context_value('MyVariable',9000)
end;
并在任何地方使用任何程序,包,功能或事件視圖.
CREATE VIEW V_TEST AS
SELECT ID,LOGIN,NAME
FROM USERS
WHERE ROLE_ID = SYS_CONTEXT(PKG_COMMON.FCN_GET_CONTEXT_NAME,'MyVariable')
總結
以上是生活随笔為你收集整理的oracle声明number变量,oracle – PL / SQL:如何声明会话变量?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 训练 ChatGPT 等模型不付钱?美国
- 下一篇: centos卸载linux里面mysql