PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Niezakończona wycena dolara

Niektóre platformy nie obsługują kwotowania w dolarach. W swoim konkretnym przykładzie powinieneś mieć średnik po ostatnim END . Może być konieczne dodanie DECLARE oświadczenie również.

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;

W przypadku platform, które nie rozpoznają kwotowań w dolarach, możesz użyć ' zamiast. Musisz zmienić znaczenie każdego ' jednak w treści funkcji anonimowej.

Tak:

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 aby zobaczyć działający przykład.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. BŁĄD:dodatkowe dane po ostatniej oczekiwanej kolumnie podczas korzystania z PostgreSQL COPY

  2. Usuń wszystkie funkcje z bazy Postgres

  3. Dlaczego PostgreSQL uważa, że ​​granice NULL w typach zakresów różnią się od granic nieskończonych?

  4. Zrozumienie ograniczeń sprawdzania w PostgreSQL

  5. Zakończ zawieszone zapytanie (bezczynne w transakcji)