Delete
Bob を使用した PostgreSQL の DELETE クエリの例を示します。
基本的な DELETE
DELETE FROM users WHERE id = $1
psql.Delete("users").
Where(psql.Quote("id").EQ(psql.Arg(1)))
複数条件での DELETE
DELETE FROM users
WHERE active = $1 AND created_at < $2
psql.Delete("users").
Where(
psql.Quote("active").EQ(psql.Arg(false)),
psql.Quote("created_at").LT(psql.Arg(time.Now().AddDate(0, -1, 0))),
)
USING 句を使用した DELETE
DELETE FROM users
USING user_profiles
WHERE users.id = user_profiles.user_id
AND user_profiles.status = $1
psql.Delete("users").
Using("user_profiles").
Where(
psql.Quote("users", "id").EQ(psql.Quote("user_profiles", "user_id")),
psql.Quote("user_profiles", "status").EQ(psql.Arg("inactive")),
)
RETURNING 句付きの DELETE
DELETE FROM users
WHERE id = $1
RETURNING id, name, email
psql.Delete("users").
Where(psql.Quote("id").EQ(psql.Arg(1))).
Returning("id", "name", "email")
IN 句を使用した DELETE
DELETE FROM users WHERE id IN ($1, $2, $3)
psql.Delete("users").
Where(psql.Quote("id").In(psql.Arg(1), psql.Arg(2), psql.Arg(3)))
これらの例は、Bob を使用して PostgreSQL で実行可能な様々な DELETE クエリパターンを示しています。