I use Javascript and Postgresql. I want do transaction:
const user = await getCurrentUser()
await db.query(sql`
BEGIN;
DO
$$
DECLARE
round int;
BEGIN
SELECT id
INTO round
FROM "game_round"
WHERE status = 'pending';
IF NOT FOUND
THEN
RAISE EXCEPTION 'No pending round found';
ELSE
INSERT INTO "game_round_bet"
(game_round_id, user_id, money)
VALUES
(round, ${user.id}, 300);
END IF;
END;
$$;
COMMIT;
`)
But if i pass ${user.id}
javascript variable to sql string, i get error:
"Cannot insert multiple commands into a prepared statement"
How to pass variable from Javascript world to SQL world?