टेराडाटा - मैक्रोज़

मैक्रो 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