मैं पीएल/एसक्यूएल में एक सत्र चर घोषित कैसे करूं - एक जो केवल सत्र की अवधि के लिए जारी रहेगा, मुझे डेटाबेस में इसे स्टोर करने के बिना ही?पीएल/एसक्यूएल: मैं सत्र चर घोषित कैसे करूं?
उत्तर
आप एक पैकेज स्तर चर बनाते हैं।
CREATE OR REPLACE PACKAGE my_package
AS
FUNCTION get_a RETURN NUMBER;
END my_package;
/
CREATE OR REPLACE PACKAGE BODY my_package
AS
a NUMBER(20);
FUNCTION get_a
RETURN NUMBER
IS
BEGIN
RETURN a;
END get_a;
END my_package;
/
आप पर पढ़ना चाहिए आप ऐसा करते हैं (और सही ढंग से संभाल) ORA-04068
त्रुटियां: यह एक न्यूनतम उदाहरण है। प्रत्येक डेटाबेस सत्र के लिए इसका अपना मूल्य होगा। आप के साथ इस कोशिश कर सकते हैं:
SELECT my_package.get_a FROM DUAL;
आप दुकान डेटा किसी सत्र के दौरान कई इकाइयों के पार साझा करने के लिए एक 'उपयोगकर्ता-निर्मित संदर्भ' का उपयोग कर सकते हैं।
सबसे पहले, एक संदर्भ बनाने के लिए:
CREATE CONTEXT SYS_CONTEXT ('userenv', 'current_schema')|| '_ctx' USING PKG_COMMON
दूसरा, एक पैकेज है कि आपके संदर्भ का प्रबंधन होगा बनाने के लिए:
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 और अधिक उन्नत हो सकता है, कि सिर्फ एक उदाहरण है। संदर्भ और पैकेज के साथ बनाया गया आप उनका उपयोग शुरू कर सकते हैं। एक प्रक्रिया कॉल
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')
अधिक जानकारी के लिए देखते हैं http://www.psoug.org/reference/sys_context.html
- 1. पीएलएसक्यूएल
- 2. मैं शैल स्क्रिप्ट में निरंतर चर घोषित कैसे करूं?
- 3. मैं वेब पेज में वैश्विक जावास्क्रिप्ट चर कहां घोषित करूं?
- 4. मैं हैंडल घोषित कैसे करूं? (Win32)
- 5. मैं एक आंतरिक कक्षा घोषित कैसे करूं?
- 6. सत्र चर
- 7. मैं कक्षा में एक संरचना कैसे घोषित करूं?
- 8. मैं रैक ऐप में सत्र वर्र्स कैसे सेट/प्राप्त करूं?
- 9. सत्र चर
- 10. सत्र चर
- 11. मैं कैपिबारा में सत्र मूल्य कैसे स्थापित करूं?
- 12. पीएलएसक्यूएल प्रोक्यूचर (ओरेकल) एक चर की तुलना में जहां धारा
- 13. MYSQL घोषित चर
- 14. जावास्क्रिप्ट स्थानीय चर घोषित
- 15. मैं एक चर "अनचाहे" कैसे करूं?
- 16. मैं एलएलवीएम में वैश्विक चर कैसे घोषित कर सकता हूं?
- 17. मैं अपने वर्तमान सत्र
- 18. postgresql में स्थानीय चर घोषित कैसे करें?
- 19. जावास्क्रिप्ट में वैश्विक चर घोषित कैसे करें?
- 20. मैं कस्टम क्लास के साथ सरणी कैसे घोषित करूं?
- 21. मैं जावास्क्रिप्ट में दो आयामी सरणी कैसे घोषित करूं?
- 22. मैं रूबी में NaN (संख्या नहीं) कैसे घोषित करूं?
- 23. मैं अपरिभाषित या प्रारंभिक आकार की सरणी कैसे घोषित करूं?
- 24. मैं जावा में 32 बिट पूर्णांक कैसे घोषित करूं?
- 25. मैं सी # अज्ञात प्रकारों में "कुंजी" फ़ील्ड कैसे घोषित करूं?
- 26. निजी सदस्य चर घोषित करना
- 27. मैं कोशिश/पकड़ ब्लॉक से एक चर कैसे प्राप्त करूं?
- 28. मैं सत्र चर को कैसे हटा या हटा सकता हूं?
- 29. मैं Magento सत्र में सरणी कैसे सहेजूं?
- 30. VaryByCustom सत्र चर
जब मैं प्रसंग बना यह कहते हैं: ORA-28,265: नाम स्थान 'sys_' के साथ शुरुआत अनुमति नहीं है। मैंने इसे चर में सेट करने का प्रयास किया। लेकिन यह मूल्य के बजाय परिवर्तनीय नाम सेट करता है –