相关疑难解决方法(0)

未终止的美元报价

PostgreSql(11版)如何使用IF语句?我只尝试了原始 IF 用法,但遇到了问题(“IF”处或附近的语法错误)。为了解决这个问题,人们建议使用“do &&”,但它不起作用(未终止的美元报价从 SQL DO $$ BEGIN IF 中的位置 3 开始)。这是我的 SQL 代码:

DO $$
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 …
Run Code Online (Sandbox Code Playgroud)

sql postgresql

6
推荐指数
1
解决办法
1万
查看次数

为 PostgreSQL 使用种子文件时 JPA 中的异常

我正在使用带有 JPA 的 Spring Boot 2,并将它留给 Hibernate 从我的实体创建我的数据库,这工作正常。现在我想添加一个 data.sql 文件,它将为我的数据库提供种子。我配置 JPA 如下:

spring.jpa.properties.hibernate.hbm2ddl.import_files=data.sql
Run Code Online (Sandbox Code Playgroud)

但是,我在执行种子 SQL 时遇到了问题。在文件中我定义了几个函数,最后我正在执行它们:

CREATE OR REPLACE FUNCTION insert_timeout_configuration() RETURNS bigint AS $$
  DECLARE created_id bigint;

  BEGIN
    INSERT INTO timeout_configuration (id, version, timeout)
    VALUES (nextval('my_sequence'), 0, 300)
    RETURNING id INTO created_id;
    return created_id;
  END;
$$ language plpgsql;

CREATE OR REPLACE FUNCTION insert_url_configuration() RETURNS bigint AS $$
  DECLARE created_id bigint;

  BEGIN
    INSERT INTO url_configuration (id, version, my_url)
    VALUES (nextval('my_sequence'), 0,'http://localhost:8080/')
    RETURNING id INTO created_id;
    return created_id;
  END;
$$ language …
Run Code Online (Sandbox Code Playgroud)

java postgresql spring hibernate jpa

3
推荐指数
1
解决办法
979
查看次数

标签 统计

postgresql ×2

hibernate ×1

java ×1

jpa ×1

spring ×1

sql ×1