如何在postgresql内部事务中获取值如果select没有返回任何东西,抛出一个错误,如果select返回数据,那么在事务中使用它们?
这样地:
BEGIN;
@activeRounds = SELECT * FROM "rounds" WHERE status = 'active';
if(!@activeRounds) {
RAISE ERROR "Has no Active rounds"
};
INSERT INTO "bet"
(user_id, round_id)
VALUES
(100, @activeRound[0].id)
COMMIT;
如何在事务中的一个请求中执行类似的操作?
2条答案
按热度按时间dojqjjoe1#
您可以根据表结构调整以下代码:
请注意
begin;
启动事务并begin
启动pl/pgsql块。sr4lhrrt2#
写一个
DO
pl/pgsql中的语句。就像所有的sql语句一样,
DO
在单个事务中运行。pl/pgsql是一种具有变量和条件处理的过程语言。