मारियाडीबी में, CURRENT_ROLE()
एक अंतर्निहित फ़ंक्शन है जो वर्तमान भूमिका का नाम देता है। वर्तमान भूमिका आपके एक्सेस विशेषाधिकारों को निर्धारित करती है।
SELECT CURRENT_ROLE
. का आउटपुट information_schema.ENABLED_ROLES
. की सामग्री के बराबर है टेबल।
सिंटैक्स
फ़ंक्शन को कोष्ठक के साथ या बिना कॉल किया जा सकता है:
CURRENT_ROLE
CURRENT_ROLE()
किसी तर्क की आवश्यकता नहीं है या स्वीकार नहीं है।
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है:
SELECT CURRENT_ROLE();
परिणाम:
+----------------+ | CURRENT_ROLE() | +----------------+ | NULL | +----------------+
मेरे मामले में, कोई वर्तमान भूमिका नहीं है और इसलिए NULL
लौटा दिया गया है।
आइए एक मौजूदा भूमिका जोड़ें:
SET ROLE analyst;
और इसे फिर से चलाएँ:
SELECT CURRENT_ROLE();
परिणाम:
+----------------+ | CURRENT_ROLE() | +----------------+ | analyst | +----------------+
अब, हमने जो भूमिका जोड़ी है वह वर्तमान भूमिका है।
यह उदाहरण मानता है कि भूमिका पहले बनाई जा चुकी है।
बिना कोष्ठक के
जैसा कि बताया गया है, CURRENT_ROLE()
फ़ंक्शन को कोष्ठक के साथ या बिना कॉल किया जा सकता है।
यहां बिना कोष्ठक के एक उदाहरण दिया गया है:
SELECT CURRENT_ROLE;
परिणाम:
+--------------+ | CURRENT_ROLE | +--------------+ | analyst | +--------------+
कोई तर्क स्वीकार नहीं किया जाता
CURRENT_ROLE()
. पर कोई तर्क देना एक त्रुटि में परिणाम:
SELECT CURRENT_ROLE(1);
परिणाम:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1)' at line 1पर '1)' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने मारियाडीबी सर्वर संस्करण से मेल खाने वाले मैनुअल की जांच करें।