PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PL/pgSQL प्रदर्शन बनाम निष्पादन

PERFORM plpgsql कमांड है जिसका उपयोग शून्य कार्यों की कॉल के लिए किया जाता है। PLpgSQL बेकार के बारे में सावधान है SELECT कथन - SELECT बिना INTO . के खंड की अनुमति नहीं है। लेकिन कभी-कभी आपको किसी फ़ंक्शन को कॉल करने की आवश्यकता होती है और आपको परिणाम संग्रहीत करने की आवश्यकता नहीं होती है (या फ़ंक्शन का कोई परिणाम नहीं होता है)। SQL में फंक्शन SELECT . के साथ कॉल किया जाता है बयान। लेकिन PLpgSQL में यह संभव नहीं है - इसलिए कमांड PERFORM पेश किया गया था।

CREATE OR REPLACE FUNCTION foo()
RETURNS void AS $$
BEGIN
  RAISE NOTICE 'Hello from void function';
END;
$$ LANGUAGE plpgsql;

-- direct call from SQL
SELECT foo();

-- in PLpgSQL
DO $$
BEGIN
  SELECT foo(); -- is not allowed
  PERFORM foo(); -- is ok
END;
$$;

PERFORM कथन एक पैरामीटर निष्पादित करते हैं और परिणाम भूल जाते हैं।

आपका उदाहरण perform 'create table foo as (select 1)';

SELECT 'create table foo as (select 1)' . यह एक स्ट्रिंग देता है "के रूप में तालिका फू बनाएं (चुनें 1)" और इस स्ट्रिंग को छोड़ दिया जाता है।

EXECUTE कथन स्ट्रिंग प्राप्त करने के लिए एक अभिव्यक्ति का मूल्यांकन करता है। अगले चरण में इस स्ट्रिंग को निष्पादित किया जाता है।

तो EXECUTE 'create table ' || some_var || '(a int)'; इसके दो चरण हैं

  1. अभिव्यक्ति का मूल्यांकन करें 'create table ' || some_var || '(a int)'
  2. अगर some_var उदाहरण के लिए mytab है, फिर एक कमांड निष्पादित करें create table mytab(a int)

PERFORM स्टेटमेंट का उपयोग फ़ंक्शन कॉल के लिए किया जाता है, जब असाइनमेंट स्टेटमेंट में फ़ंक्शन का उपयोग नहीं किया जाता है। EXECUTE गतिशील SQL के मूल्यांकन के लिए उपयोग किया जाता है - जब रनटाइम में SQL कमांड का एक रूप ज्ञात होता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या PostGIS स्वचालित रूप से WKT डालने पर परिवर्तित हो जाता है?

  2. SQLAlchemy कोर के रूप में अस्थायी तालिका बनाएं

  3. PostgreSQL - HTML संस्थाओं को बदलें

  4. PostgreSQL पूर्ण पाठ खोज संक्षिप्ताक्षर

  5. एक सरणी के साथ एक तैयार बयान की आपूर्ति करें