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 クエリパターンを示しています。