Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/2: Рейтинг темы: голосов - 2, средняя оценка - 5.00
CrazyPriest
0 / 0 / 0
Регистрация: 12.04.2014
Сообщений: 8
1

Как правильно сформировать запрос?

19.04.2014, 22:22. Просмотров 437. Ответов 2
Метки нет (Все метки)

У меня есть некая таблица со столбцами ID и Name. Есть запрос (строка для него, точнее), успешно работающий, который по ID удаляет строку из таблицы. Вот он:
C#
1
 CommandText = "DELETE FROM Films WHERE ID = @Id";
Но когда я удаляю запись по ID, ровный ряд этих id'шек сбивается и таблица из
1 - Abc
2 - Bcd
3 - Cbd
Становится похожей на
1 - Abc
3 - Cbd
4 - Aac
А мне надо, чтобы ID шли по порядку. Я нашел (как мне кажется) решение. Я хочу значение ID у всех строчек с ID больше того, которое удалили, уменьшить на 1.
Такой запрос
C#
1
CommandText = "DELETE FROM Films WHERE ID = @Id; UPDATE Films SET ID = ID-1 WHERE ID > @id";
не работает. Помогите правильно составить запрос, пожалуйста. Или может есть идеи, как по другому избежать сбивания ID.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2014, 22:22
Ответы с готовыми решениями:

Как сформировать запрос SQL с Date
Есть таблица, нужно чтобы выводились на экран записпи с у которых есть еще три...

Как правильно составить SQL-запрос?
Пытаюсь писать службу, взаимодействующую с SQL. Вопрос по запросу у...

Как правильно написать SELECT запрос?
Имеется таблица ID recipe_index recipe_ingrid --- ------------ ...

Как правильно подставить переменную в запрос
итак есть 3 таблицы Первая таблица справочник организаций Oragnisation...

Как правильно создать Between запрос Mysql
Доброго времени суток, подскажите как правильно создать запрос на Mysql ...

2
nmcf
6522 / 5748 / 2619
Регистрация: 14.04.2014
Сообщений: 24,493
19.04.2014, 22:32 2
Наверное не понимает ID-1. Надо конкретное значение. Сначала делай выборку всех строк с ID> @id, потом для каждой вычисляй уменьшенный ID и своим update'ом меняй.
Только если ID - ключевое поле, задействованное в связях, то придётся обрабатывать ещё и все таблицы в которых этот ID встречается.
0
juninhonvp
3 / 3 / 2
Регистрация: 02.07.2013
Сообщений: 31
21.04.2014, 08:33 3
Ерунду конечно хочешь, ибо даже не понимаю зачем такое может пригодиться. Попробуй хранимую процедуру написать(триггер), что при удалении идет update id всех строк больше удаленного id на id-1.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2014, 08:33

Как правильно писать запрос к БД на выборку данных
В свойствах адаптера в поле commandtext ввожу следующий запрос SELECT ...

Как правильно написать запрос на обновление 1 бд из другой
Есть таблица номер (отеля) и заказ. Вот мой код: UPDATE num INNER JOIN order...

Как правильно составить запрос к SQL Server?
всем привет! программа должна по нажатию кнопки писать в базу данных: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru