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

कार्यों में अद्यतन के लिए चयन पोस्टग्रेज करें

नहीं, कोई बात नहीं। भले ही SELECT 1 FROM table WHERE ... FOR UPDATE का उपयोग किया जाता है, तो क्वेरी उन सभी पंक्तियों को लॉक कर देती है जो शर्तों को पूरा करती हैं।

यदि क्वेरी एक जॉइन से पंक्तियों को पुनः प्राप्त करती है, और हम शामिल होने में शामिल सभी तालिकाओं से पंक्तियों को लॉक नहीं करना चाहते हैं, लेकिन केवल पंक्तियों को लॉक करना चाहते हैं। विशिष्ट तालिकाओं से, एक SELECT ... FOR UPDATE OF list-of-tablenames सिंटैक्स उपयोगी हो सकता है:
http://www.postgresql.org/docs/9.0/static/sql-select.html#SQL-FOR-UPDATE-SHARE


Pl/PgSql में PERFORM . का उपयोग करें क्वेरी परिणाम को त्यागने का आदेश:
http://www.postgresql.org/docs/9.2/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-SQL-NORESULT

इसके बजाय:

SELECT 1 INTO dummy FROM my_table WHERE userid=v_1 LIMIT 1 FOR UPDATE;

उपयोग करें:

PERFORM 1 FROM my_table WHERE userid=v_1 LIMIT 1 FOR UPDATE;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON कॉलम से औसत की गणना करें

  2. कुछ पंक्तियों के साथ 30 टेबल - उन्हें खाली करने और संलग्न अनुक्रमों को रीसेट करने का सबसे तेज़ तरीका TRUNCATE?

  3. पोस्टग्रेज़ पढ़ने की पहुँच के लिए CSV फ़ाइल नहीं खोल सकते:अनुमति अस्वीकृत

  4. Ubuntu 16.04 पर PostgreSQL डेटाबेस बनाना और हटाना

  5. Php json आउटपुट से लाइनब्रेक हटाना