-- name: GetPayment :one SELECT * FROM payments WHERE "ID" = $1 LIMIT 1; -- name: CreatePayment :one INSERT INTO payments ( "accountID", "paymentCategory", "bankname", "IBAN", "BIC", "paypalAccount", "paypalID", "paymentSystem", "type", "creator", "changer" ) VALUES ( $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11 ) RETURNING *; -- name: ListPayments :many SELECT * FROM payments ORDER BY "paymentCategory" LIMIT $1 OFFSET $2; -- name: UpdatePayment :one UPDATE payments SET "accountID" = COALESCE(sqlc.narg(accountID), "accountID"), "paymentCategory" = COALESCE(sqlc.narg(paymentCategory), "paymentCategory"), "bankname" = COALESCE(sqlc.narg(bankname), "bankname"), "IBAN" = COALESCE(sqlc.narg(IBAN), "IBAN"), "BIC" = COALESCE(sqlc.narg(BIC), "BIC"), "paypalAccount" = COALESCE(sqlc.narg(paypalAccount), "paypalAccount"), "paypalID" = COALESCE(sqlc.narg(paypalID), "paypalID"), "paymentSystem" = COALESCE(sqlc.narg(paymentSystem), "paymentSystem"), "type" = COALESCE(sqlc.narg(type), "type"), "changer" = $2, "changed" = now() WHERE "ID" = $1 RETURNING *; -- name: DeletePayment :exec DELETE FROM payments WHERE "ID" = $1;