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

अनटर्मिनेटेड डॉलर बोली

कुछ प्लेटफ़ॉर्म डॉलर के उद्धरण का समर्थन नहीं करते हैं। आपके विशिष्ट उदाहरण में आपके पास अंतिम END . के बाद एक अर्धविराम होना चाहिए . आपको DECLARE जोड़ने की आवश्यकता हो सकती है बयान भी।

DO
$$
DECLARE
BEGIN
    IF (NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'categories')) 
    THEN
        CREATE TABLE IF NOT EXISTS categories
        (
          id   SERIAL NOT NULL,
          name character varying(40),
          CONSTRAINT categories_pkey PRIMARY KEY (id)
        );

        INSERT INTO categories (name) VALUES ('Games');
        INSERT INTO categories (name) VALUES ('Multimedia');
        INSERT INTO categories (name) VALUES ('Productivity');
        INSERT INTO categories (name) VALUES ('Tools');
        INSERT INTO categories (name) VALUES ('Health');
        INSERT INTO categories (name) VALUES ('Lifestyle');
        INSERT INTO categories (name) VALUES ('Other');
    END IF;
END;
$$  LANGUAGE PLPGSQL;

उन प्लेटफ़ॉर्म के लिए जो डॉलर के उद्धरण को नहीं पहचानते हैं, आप ' . का उपयोग कर सकते हैं बजाय। आपको किसी भी ' . से बचना होगा हालांकि अनाम फ़ंक्शन के मुख्य भाग में।

इस तरह:

DO
'
DECLARE
BEGIN
    IF (NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ''categories'')) 
    THEN
        CREATE TABLE IF NOT EXISTS categories
        (
          id   SERIAL NOT NULL,
          name character varying(40),
          CONSTRAINT categories_pkey PRIMARY KEY (id)
        );

        INSERT INTO categories (name) VALUES (''Games'');
        INSERT INTO categories (name) VALUES (''Multimedia'');
        INSERT INTO categories (name) VALUES (''Productivity'');
        INSERT INTO categories (name) VALUES (''Tools'');
        INSERT INTO categories (name) VALUES (''Health'');
        INSERT INTO categories (name) VALUES (''Lifestyle'');
        INSERT INTO categories (name) VALUES (''Other'');
    END IF;
END;
'  LANGUAGE PLPGSQL;

DBFiddle एक कार्यशील उदाहरण देखने के लिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मेरे MySQL डीबी के लिए काम नहीं कर रहे लेनदेन

  2. रेल के साथ एकाधिक डेटाबेस दूरस्थ डेटाबेस के लिए काम नहीं कर रहे हैं

  3. pg_restore त्रुटि:भूमिका XXX मौजूद नहीं है

  4. एक पोस्टग्रेज तालिका से एक निश्चित कुंजी के मूल्य को पुनः प्राप्त करने के लिए psycopg2 का उपयोग कैसे करें जिसमें कुंजी-मूल्य जोड़े हैं

  5. pgAdmin3 कनेक्शन की समस्या