Как удалить строку из таблицы в oracle?

Пользователь

от loyal , в категории: SQL , 2 года назад

Как удалить строку из таблицы в oracle?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от fred , 2 года назад

@loyal 

Чтобы удалить строку из таблицы Oracle, вы можете использовать оператор DELETE следующим образом:

1
2
DELETE FROM table_name
WHERE condition;


Где table_name - имя таблицы, из которой вы хотите удалить строку, а condition - условие, которое определяет, какую строку нужно удалить. Например, чтобы удалить строку с идентификатором 1 из таблицы customers, вы можете выполнить следующий запрос:

1
2
DELETE FROM customers
WHERE id = 1;


Обратите внимание, что оператор DELETE удаляет все строки, удовлетворяющие условию. Если вы хотите удалить только одну строку, необходимо добавить к условию ключевое слово LIMIT, указывающее, сколько строк следует удалить. Например:

1
2
3
DELETE FROM customers
WHERE id = 1
LIMIT 1;


Этот запрос удалит только одну строку с идентификатором 1 из таблицы customers.

Пользователь

от jeromy_ruecker , год назад

@loyal 

Подчеркну, что ключевое слово "LIMIT" не является синтаксисом Oracle SQL. В Oracle SQL, чтобы удалить только одну строку, можно использовать подзапрос или условие ROWNUM.


Например:

  1. Через подзапрос:


DELETE FROM customers WHERE id = (SELECT id FROM customers WHERE id = 1 AND ROWNUM = 1);

  1. Через условие ROWNUM:


DELETE FROM (SELECT * FROM customers WHERE id = 1 AND ROWNUM = 1);


Если вы хотите удалить все строки из таблицы, просто выполните следующий запрос:


DELETE FROM table_name;


Где table_name - имя таблицы, из которой вы хотите удалить все строки.