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

PostgreSQL फ़ंक्शन में तर्क के साथ सिस्टम कमांड चलाना

आप कुछ तक पहुंच सकते हैं plsh ट्रिगर में मान।

  • अद्यतन ऑफ़र केवल पुराने हैं
  • INSERT केवल नए (duh) ऑफ़र करता है
  • हटाएं मैंने परीक्षण नहीं किया

तो आप उन मानों को तर्कों का उपयोग करके प्राप्त करते हैं, जैसे $1, $2

आप कार्य कुछ इस तरह दिखाई देंगे:

CREATE FUNCTION tarifador_func2() RETURNS TRIGGER
LANGUAGE plsh
AS $$
#!/bin/sh
/usr/bin/php /var/www/html/...regras.php $3 $6 $1

$$;

ध्यान दें कि मैंने $1 $2 $3 . का उपयोग नहीं किया , ऐसा इसलिए है क्योंकि plsh एक्सटेंशन डंप सभी तर्कों में कॉलम क्रम में वे आपकी तालिका में घोषित किए गए हैं। तो आप कुछ ऐसा कर सकते हैं जैसे INSERT INTO table1 (column3) VALUES (6); और यह $3 . के अंतर्गत होगा plsh . में , यह मानते हुए कि यह तालिका का तीसरा स्तंभ है।

एक साइड नोट के रूप में, ट्रिगर का मेटाडेटा env vars के माध्यम से उपलब्ध है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पर्ल - डीबीआई और .pgpass

  2. Postgresql में डेटाटाइम फ़ील्ड में तिथियों की तुलना कैसे करें?

  3. पोस्टग्रेज, अपडेट और लॉक ऑर्डरिंग

  4. रेल 5 स्कीमा फ़ाइल में अगली विधि क्यों जोड़ रहा है?

  5. हम किसी फ़ंक्शन के अंदर "statement_timeout" कैसे काम कर सकते हैं?