Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
29.10.2015, 16:37
|
|||
---|---|---|---|
|
|||
Сортировка с участием PK |
|||
#18+
Добрый день! Есть такая таблица: Код: sql 1. 2. 3. 4. 5. 6.
A_ID и B_ID - внешние ключи, C_ID заполняется автоинкрементом для каждой комбинации A_ID/B_ID. Периодически некоторые строки приходится удалять. Нужно после внесенных изменений в таблицу переназначить C_ID последовательно для всех строк c A_ID/B_ID, отсортировав предварительно список по S_DATE, F_DATE, OLD.C_ID. Вопрос: как это проще сделать? Если бы C_ID не входило в PK - проблемы бы не было, а тут - PK, т.е. получается, только сортировка методом пузырька? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2015, 16:41
|
|||
---|---|---|---|
|
|||
Сортировка с участием PK |
|||
#18+
Hello, Kirill Razuvaev! You wrote on 29 октября 2015 г. 16:40:38: Kirill Razuvaev> Вопрос: как это проще сделать?Вопрос: науха это вообще делать? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2015, 16:45
|
|||
---|---|---|---|
|
|||
Сортировка с участием PK |
|||
#18+
Kirill Razuvaev, что за бред? Если у тебя есть поле автоинкремента, то почему оно не PK? Не надо модифицировать ПК. Это вообще идиотизм, особенно если потом на этот ПК ссылаться другие таблицы будут. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2015, 17:22
|
|||
---|---|---|---|
|
|||
Сортировка с участием PK |
|||
#18+
Симонов Денисчто за бред? Если у тебя есть поле автоинкремента, то почему оно не PK? Не надо модифицировать ПК. Это вообще идиотизм, особенно если потом на этот ПК ссылаться другие таблицы будут.Там не полный автоинкремент. Автоинкремент организуется не для всей таблицы, а только для всех строк с одинаковой парой значений A_ID/B_ID. Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2015, 17:28
|
|||
---|---|---|---|
|
|||
Сортировка с участием PK |
|||
#18+
Hello, Kirill Razuvaev! You wrote on 29 октября 2015 г. 17:27:59: Kirill Razuvaev> заказчик хочет чтобы визуально все было пронумеровано правильно и "без дырок" рисуй нумерацию на клиенте. ключи это ключи. не нужно их использовать для "нумерации". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2015, 17:31
|
|||
---|---|---|---|
|
|||
Сортировка с участием PK |
|||
#18+
МимопроходящийHello, Kirill Razuvaev! You wrote on 29 октября 2015 г. 17:27:59: Kirill Razuvaev> заказчик хочет чтобы визуально все было пронумеровано правильно и "без дырок" рисуй нумерацию на клиенте. ключи это ключи. не нужно их использовать для "нумерации".Оно уже, увы, так нарисовано... :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2015, 17:35
|
|||
---|---|---|---|
|
|||
Сортировка с участием PK |
|||
#18+
Kirill Razuvaev, так не хрен тогда порядок хранить. Как уже сказали сортируешь запросом и нумеруешь на клиенте. И кстати причём тут пузырёк? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2015, 17:35
|
|||
---|---|---|---|
|
|||
Сортировка с участием PK |
|||
#18+
Hello, Kirill Razuvaev! You wrote on 29 октября 2015 г. 17:35:44: Kirill Razuvaev> Оно уже, увы, так нарисовано... закрасить грунтовкой и нарисовать заново. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2015, 17:37
|
|||
---|---|---|---|
Сортировка с участием PK |
|||
#18+
Kirill RazuvaevАвтоинкремент организуется не для всей таблицы, а только для всех строк с одинаковой парой значений A_ID/B_ID. хотелось бы услышать, как это достигается в многопользовательском режиме. Kirill Razuvaevзаказчик хочет чтобы визуально все было пронумеровано правильно и "без дырок". это возможно только в монопольном режиме. Вообще, заказчик часто хочет много чего, о чем не имеет ни малейшего представления. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2015, 18:28
|
|||
---|---|---|---|
|
|||
Сортировка с участием PK |
|||
#18+
Kirill Razuvaev> Оно уже, увы, так нарисовано... :-( Дык перерисуй. Ты ж разработчик или не твоя вотчина? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.10.2015, 04:04
|
|||
---|---|---|---|
Сортировка с участием PK |
|||
#18+
Kirill Razuvaev, Просто не трогай C_ID, убери его из ПК, а на клиенте рисуй что хочешь. Будет просто лишнее поле. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.10.2015, 10:18
|
|||
---|---|---|---|
|
|||
Сортировка с участием PK |
|||
#18+
kdvKirill RazuvaevАвтоинкремент организуется не для всей таблицы, а только для всех строк с одинаковой парой значений A_ID/B_ID. хотелось бы услышать, как это достигается в многопользовательском режиме. Kirill Razuvaevзаказчик хочет чтобы визуально все было пронумеровано правильно и "без дырок". это возможно только в монопольном режиме. Вообще, заказчик часто хочет много чего, о чем не имеет ни малейшего представления.Бизнес-специфика объекта в том, что правки редки, и корректировки вносятся в режиме select with lock родительского объекта. Гаджимурадов РустамKirill Razuvaev> Оно уже, увы, так нарисовано... :-( Дык перерисуй. Ты ж разработчик или не твоя вотчина?Надо посмотреть внимательно, что там дальше в структуре, может, действительно, проще туда сделать суррогатный PK с автоинкрементом, а A_ID/B_ID оставить просто FK, нумерацию при этом формировать динамически. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.10.2015, 11:00
|
|||
---|---|---|---|
|
|||
Сортировка с участием PK |
|||
#18+
Kirill RazuvaevВ PK в дальнейшем связка нигде не участвует, просто заказчик хочет чтобы визуально все было пронумеровано правильно и "без дырок". Как говориться - "The customer is a king". Понимаю... Как один из вариантов, могу предложить сделать обновляемое на триггерах представление с тем же именем, которое клиент будет воспринимать как таблицу. Что-то типа: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99.
Возможно, я мог что-то упустить из виду, так что ревизия и тестирования триггера лишними не будут. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.10.2015, 11:04
|
|||
---|---|---|---|
|
|||
Сортировка с участием PK |
|||
#18+
сразу нашел за собой ошибку. Там где DELETING, исправьте фрагмент блокировки записей на: Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=40&mobile=1&tid=1562542]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 159ms |
0 / 0 |