टेराडाटा - मैक्रोज़
मैक्रो SQL स्टेटमेंट्स का एक सेट है जिसे मैक्रो नाम से संग्रहीत और निष्पादित किया जाता है। मैक्रोज़ की परिभाषा डेटा डिक्शनरी में संग्रहीत है। उपयोगकर्ताओं को केवल मैक्रो को निष्पादित करने के लिए EXEC विशेषाधिकार की आवश्यकता होती है। उपयोगकर्ताओं को मैक्रो के अंदर उपयोग की जाने वाली डेटाबेस वस्तुओं पर अलग-अलग विशेषाधिकारों की आवश्यकता नहीं है। मैक्रो स्टेटमेंट को एकल लेनदेन के रूप में निष्पादित किया जाता है। यदि मैक्रो में SQL स्टेटमेंट्स में से एक विफल हो जाता है, तो सभी स्टेटमेंट्स वापस आ जाते हैं। मैक्रोज़ मापदंडों को स्वीकार कर सकते हैं। मैक्रोज़ में DDL स्टेटमेंट हो सकते हैं, लेकिन मैक्रो में यह अंतिम स्टेटमेंट होना चाहिए।
मैक्रोज़ बनाएँ
मैक्रो क्रिएट मैक्रो स्टेटमेंट का उपयोग करके बनाया जाता है।
वाक्य - विन्यास
निम्नलिखित क्रिएट मैक्रो कमांड का सामान्य सिंटैक्स है।
CREATE MACRO <macroname> [(parameter1, parameter2,...)] (
<sql statements>
);
उदाहरण
निम्नलिखित कर्मचारी तालिका पर विचार करें।
कर्मचारी संख्या | पहला नाम | उपनाम | जन्म दिन |
---|---|---|---|
101 | माइक | जेम्स | 1980/01/05 |
104 | एलेक्स | स्टुअर्ट | 1984/11/06 |
102 | रॉबर्ट | विलियम्स | 1983/03/05 |
105 | रॉबर्ट | जेम्स | 1984/12/01 |
103 | पीटर | पॉल | 1983/04/01 |
निम्न उदाहरण Get_Emp नामक एक मैक्रो बनाता है। इसमें कर्मचारी तालिका से रिकॉर्ड प्राप्त करने के लिए एक चयन विवरण शामिल है।
CREATE MACRO Get_Emp AS (
SELECT
EmployeeNo,
FirstName,
LastName
FROM
employee
ORDER BY EmployeeNo;
);
कार्यकारी मैक्रों
EXEC कमांड का उपयोग करके मैक्रोज़ को निष्पादित किया जाता है।
वाक्य - विन्यास
निम्नलिखित EXECUTE MACRO कमांड का सिंटैक्स है।
EXEC <macroname>;
उदाहरण
निम्न उदाहरण मेक्रो नाम Get_Emp को निष्पादित करता है; जब निम्न आदेश निष्पादित किया जाता है, तो यह कर्मचारी तालिका से सभी रिकॉर्ड पुनर्प्राप्त करता है।
EXEC Get_Emp;
*** Query completed. 5 rows found. 3 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo FirstName LastName
----------- ------------------------------ ---------------------------
101 Mike James
102 Robert Williams
103 Peter Paul
104 Alex Stuart
105 Robert James
परिमाणित मैक्रोज़
टेराडाटा मैक्रोज़ मापदंडों को स्वीकार कर सकते हैं। एक मैक्रो के भीतर, इन मापदंडों को संदर्भित किया जाता है; (अर्धविराम)।
निम्नलिखित मैक्रो का एक उदाहरण है जो मापदंडों को स्वीकार करता है।
CREATE MACRO Get_Emp_Salary(EmployeeNo INTEGER) AS (
SELECT
EmployeeNo,
NetPay
FROM
Salary
WHERE EmployeeNo = :EmployeeNo;
);
निष्पादन योग्य मैक्रोज़
EXEC कमांड का उपयोग करके मैक्रोज़ को निष्पादित किया जाता है। मैक्रोज़ को निष्पादित करने के लिए आपको EXEC विशेषाधिकार की आवश्यकता है।
वाक्य - विन्यास
निम्नलिखित EXECUTE MACRO स्टेटमेंट का सिंटैक्स है।
EXEC <macroname>(value);
उदाहरण
निम्न उदाहरण मेक्रो नाम Get_Emp को निष्पादित करता है; यह कर्मचारी को पैरामीटर के रूप में स्वीकार नहीं करता है और उस कर्मचारी के लिए कर्मचारी तालिका से रिकॉर्ड निकालता है।
EXEC Get_Emp_Salary(101);
*** Query completed. One row found. 2 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo NetPay
----------- ------------
101 36000