-
- Notifications
You must be signed in to change notification settings - Fork 2
DELETE
Oxford Harrison edited this page Nov 19, 2024 · 7 revisions
The DELETE
statement.
See APIS ➞
client.query()
,table.delete()
Section | Description |
---|---|
Basic Delete | Run a basic DELETE operation. |
The WHERE Clause | - |
The RETURNING Clause | - |
// (a): SQL syntax const result = await client.query( `DELETE FROM public.users` );
// (b): Object-based syntax const result = await client.database('public').table('users').delete();
Find by simple expression:
// (a): SQL syntax const result = await client.query( `DELETE FROM public.users WHERE name = 'John' AND role = 'guest'` );
// (b): Object-based syntax const result = await client.database('public').table('users').delete( { where: [ { eq: ['name', { value: 'John' }] }, { eq: ['role', { value: 'guest' }] } ] } );
// (c): Function-based syntax const result = await client.database('public').table('users').delete( { where: [ (q) => q.eq('name', (r) => r.value('John')), (q) => q.eq('role', (r) => r.value('guest')) ] } );
Find by complex expression:
// (a): SQL syntax const result = await client.query( `DELETE FROM public.users WHERE (role = $1 OR role = $2) AND ( email IS NOT NULL OR ( phone IS NOT NULL AND country_code IS NOT NULL ) )` );
// (b): Object-based syntax const result = await client.database('public').table('users').delete( { where: [ { some: [ { eq: ['role', { binding: 'admin' }] }, { eq: ['role', { binding: 'contributor' }] } ] }, { some: [ { isNotNull: 'email' }, { every: [ { isNotNull: 'phone' }, { isNotNull: 'country_code' } ] } ] } ] } );
// (c): Function-based syntax const result = await client.database('public').table('users').delete( { where: [ (q) => q.some( (r) => r.eq('role', (s) => s.binding('admin')), (r) => r.eq('role', (s) => s.binding('contributor')), ), (q) => q.some( (r) => r.isNotNull('email'), (r) => r.every( (s) => s.isNotNull('phone'), (s) => s.isNotNull('country_code') ) ) ] } );
Examples coming soon.