相关疑难解决方法(0)

PostgreSQL语法检查而不运行查询

我想验证包含sql查询的文件的语法,然后才能在我的CVS项目中提交它们.

为了做到这一点,我有一个commitinfo脚本,但我很难找到sql命令是否有效.psql似乎没有dryrun模式,并且从语法(在源代码中)构建我自己的postgresql-dialact测试器似乎是一个很长的延伸.

脚本可能包含多个查询,因此EXPLAIN不能包含它们.

任何提示?

sql postgresql cvs syntax parsing

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

如何在PostgreSQL函数中使用COMMIT和ROLLBACK

我使用三个插入语句,如果第三个语句中有错误,我想回滚第一个和第二个.如果没有办法做到这一点,请告诉我一个不同的方法来处理PostgresqQL中的这个.

如果我使用COMMITROLLBACK,我收到错误.

CREATE OR REPLACE FUNCTION TEST1 ()
   RETURNS VOID
   LANGUAGE 'plpgsql'
   AS $$
BEGIN 

    INSERT INTO table1 VALUES (1);

    INSERT INTO table1 VALUES (2);

    INSERT INTO table1 VALUES ('A');
    COMMIT;
EXCEPTION
   WHEN OTHERS THEN
   ROLLBACK;
END;$$;
Run Code Online (Sandbox Code Playgroud)

上面的代码不起作用; COMMIT并且ROLLBACKPostgreSQL函数不支持.

postgresql postgresql-10

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

标签 统计

postgresql ×2

cvs ×1

parsing ×1

postgresql-10 ×1

sql ×1

syntax ×1