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

SQL स्थिति:42601 सिंटैक्स त्रुटि 11 पर या उसके आस-पास

इस बड़े पैमाने पर सरलीकृत फ़ॉर्म को आज़माएं:

CREATE OR REPLACE FUNCTION somefunc()
  RETURNS void AS
$func$
DECLARE
 addresstablename text := 'address_history_' || to_char(now(), 'FMDD_MM_YYYY');

BEGIN
 EXECUTE 
 'CREATE TABLE ' || addresstablename || '() INHERITS (address_all)';

 EXECUTE
 'INSERT INTO ' || addresstablename || '
  SELECT *
  FROM   address_history
  WHERE  address_timestamp >= $1'
 USING date_trunc('hour', now() - interval '7 days');

END
$func$ LANGUAGE plpgsql;

प्रमुख बिंदु:

  • आप घोषणा के समय plpgsql में वैरिएबल असाइन कर सकते हैं। कोड को सरल करता है।

  • to_char() अपनी तिथि को प्रारूपित करने के लिए। बहुत आसान।

  • अब () और CURRENT_TIMESTAMP वही करें।

  • 'now()' quote का उद्धरण न दें , अभी () का उपयोग करें (बिना उद्धरण के) यदि आप वर्तमान टाइमस्टैम्प चाहते हैं।

  • USING<का इस्तेमाल करें /कोड> EXECUTE . के साथ क्लॉज , इसलिए आपको टाइमस्टैम्प . को कनवर्ट करने की आवश्यकता नहीं है करने के लिए पाठ और पीछे - संभवतः उद्धरण . में चल रहा है आपके जैसे मुद्दे। तेज़, आसान, सुरक्षित।

  • LANGUAGE plpgsql में , plpgsql एक कीवर्ड है और इसे उद्धृत नहीं किया जाना चाहिए।

  • आप यह जांचना चाह सकते हैं कि क्या तालिका पहले से मौजूद है CREATE तालिका यदि मौजूद नहीं है तो , PostgreSQL 9.1 से उपलब्ध है।



  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. दिनांक फ़ील्ड से महीना निकालें

  3. अल्पविराम से अलग किए गए कॉलम डेटा को अतिरिक्त कॉलम में विभाजित करें

  4. क्या एडीओ ओडीबीसी ड्राइवरों या केवल ओएलई डीबी प्रदाताओं के साथ काम करता है?

  5. पोस्टग्रेज में सभी रिकॉर्ड से सभी पूर्णांक सरणियों को एकल सरणी में कैसे मर्ज करें?

© कॉपीराइट http://hi.sqldat.com सर्वाधिकार सुरक्षित