Удаление строк T-SQL
Пытаюсь удалить строки в таблице обычным запросом с условием:
DELETE Orders WHERE (OrderDate >= CONVERT(DATETIME, '1996-08-01 00:00:00', 102)) AND (OrderDate
Но при выполнении возникает ошибка:
Msg 547, Level 16, State 0, Line 1 The DELETE statement conflicted with the REFERENCE constraint "FK_Order_Details_Orders". The conflict occurred in database "Northwind", table "dbo.Order Details", column 'OrderID'.
Я так понял, что две таблицы связаны внешним ключом, и так просто строки из этой таблицы не удалить. Подскажите, как можно их удалить, но не применяя каскадное удаление.
Удаление строк из таблицы
- необходимо из таблицы удалить строки дата в которых отстоит от текущей на 1 год (365 дней)
- это должно выполняться автоматически, периодически.
Сам я в написании скриптов для Microsoft SQL Server не очень, поэтому очень надеюсь на вашу помощь.
Стоит Microsoft SQL Server 2014.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Удаление дубликатов строк из таблицы
Собственно существует ли какая нибудь команда или универсальный запрос, который подойдет к любой.
Удаление строк из таблицы
Здравствуйте. Помогите с удалением поля из таблицы по заданому индексу. Пользователь вводит в.
Удаление строк из таблицы
имеется база. мне необходимо чтобы при заполнении формы журнал замечаний при выборе номера.
Удаление строк из таблицы
Добрый день! подскажите, как можно разрулить следующую ситуацию: есть столбец, в котором находятся.
Как удалить строку в sql server
Как правильно реализовать удаление конкретной строки(как на скриншоте, где в каждой строке свой DELETE)?

private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) < SqlConnection connection = new SqlConnection("server=ROOT-ПК\\SQLEXPRESS; database=edik; uid=sa; pwd="); connection.Open(); SqlCommand cmd = new SqlCommand("DELETE FROM edik_1"); cmd.Connection = connection; cmd.ExecuteNonQuery(); connection.Close(); /*SqlCommand cmdDelete = new SqlCommand("DELETE FROM edik_1 WHERE НаименованиеТовара='"+ "tb_Delete.Text +"'"; /*---Удаление содержимого всей таблицы---*/ dataGridView1.Rows.Clear(); >
это удаление всего содержимого.. а вот отдельной строки к примеру DPK(на скрине) - не могу 🙁
И как еще можно при удалении допустим, сразу сохранять изменения(при условии что есть код для сохранения)?
private void button2_Click(object sender, EventArgs e)
Спросил kiborg
749 дн., 10 час., 37 мин. назад
Новые ответы
Посмотрите на DataAdapter и на DataSet. Вкратце в DataAdapter настраиваются команды на получение изменение и удаление данных, а DataSet является контейнером для данных, и может быть источником данных для вашего грида. В DataSet запоминаются добавленные измененные и удаленные данные, и на основании этой информации DataAdapter понимает какие команды использовать при сохранении изменений в базу.
Ответил alex.algel
730 дн., 11 час., 43 мин. назад
Про DataAdapter и DataSet я знаю, спасибо. Просто надо реализовать не через них(хоть так и проще).
Повторное использование знаний
DELETE TOP SQL Server
Оператор DELETE TOP SQL Server (Transact-SQL) используется для удаления записей из таблицы в SQL Server и ограничения количества записей, удаленных на основе фиксированного значения или процента.
Синтаксис
Синтаксис оператора DELETE TOP в SQL Server (Transact-SQL):
DELETE TOP (top_value) [ PERCENT ]
FROM table
[WHERE conditions];
Параметры или аргументы
table - таблица, из которой вы хотите удалить записи.
WHERE conditions -необязательный. Условия, которые должны быть выполнены для записей, подлежащих удалению.
TOP (top_value) - удалит верхнее число строк в результирующем наборе на основе top_value . Например, TOP (10) удалит первые 10 строк, соответствующих критериям удаления.
PERCENT - необязательный. Если задан PERCENT , то верхние строки основаны на проценте top_value от общего набора результатов (как определено значением PERCENT ). Например, TOP (10) PERCENT удалит первые 10% записей, соответствующих критериям удаления.
Примечание
Вам не нужно указывать поля в операторе DELETE SQL Server, так как вы удаляете всю строку из таблицы.
Пример использования ключевого слова TOP
Рассмотрим пример SQL Server, где мы используем ключевое слово TOP в операторе DELETE.
Например:
