Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
Добрый день. Подскажите: Есть Самописаня оболочка для ведения БД, работает на MS SQL EXPRESS R2 2008. Доступа к исходному коду нет. В разделе отчеты Пункты идут в порядке создания без возможности сортировки. Посмотрев устройство БД я понял что на каждый отчет заводится в служебной таблице строка ID(PK int), text(varchar) ... etc. В общем отчеты нумеруются по порядку по полю РК. Как можно поменять РК местами, не пересоздавая таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 12:57 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
j-esterДобрый день. Подскажите: Есть Самописаня оболочка для ведения БД, работает на MS SQL EXPRESS R2 2008. Доступа к исходному коду нет. В разделе отчеты Пункты идут в порядке создания без возможности сортировки. Посмотрев устройство БД я понял что на каждый отчет заводится в служебной таблице строка ID(PK int), text(varchar) ... etc. В общем отчеты нумеруются по порядку по полю РК. Как можно поменять РК местами, не пересоздавая таблицу? для начала посмотрите в профайлере, какие запросы идут к базе, будет виднее, где и что исправлять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 13:00 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
Освоить команду update и поменять id на нужные зхначения. Если id -- это identity, то удалить запись со ненужным значением id и вставить ее с нужным значением, используя identity_insert. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 13:01 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
j-ester, добавить отдельное поле, и нумеровать в нем так, как нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 13:17 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
1) Я смотрел в профайлере - идет обращение и вывод полей, соответсвующее номеру в поле ID (PK, autoinkrement) 2) Освоить команду update и поменять id на нужные зхначения. Если id -- это identity, то удалить запись со ненужным значением id и вставить ее с нужным значением, используя identity_insert. Подскажите точнее, у меня не получилось поменять , так как есть ограничение РК - это первичный ключ, хотя я не уверен что он где то привязн - в таблице ТОЛЬКО элементы для отображения в По, они в запросах не используются 3) добавить отдельное поле, и нумеровать в нем так, как нужно Есть Самописаня оболочка для ведения БД, работает на MS SQL EXPRESS R2 2008. Доступа к исходному коду нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 13:48 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, Поясню - таблица вида elid (PK, inkrement), parent_elid(NOT NULL), nama (varchar "Название пункта меню в отчетах"), иконка (или что такое). В ПО отчеты выводятся в соответсвии с сортировкой по полю ID (PK). Как я вижу - связий у этого ключа нет, он нужен только для вывода пунктов. МНЕ НУЖНО ПОМЕНЯТЬ ID, допустим ID 20 и ID 40 поменять местами. ЛЮБЫМ способом, можно изменением на другие свободные числа. Не важно. Запрос например увеличиваем последний элемент на 2: update [ias_hier] set elid = 100490 where elid = 100488 Сообщение 8102, уровень 16, состояние 1, строка 1 Не удалось изменить столбец идентификаторов "elid". Как мне поменять значение поля PK со свойством autoinkrement ,, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 13:57 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
Если есть форинкеи, то придется их сначала удалить/отключить, потом поменять данные во всех связанных таблицах, потом вернуть констрейнты обратно. Вы уверены, что вам настолько нужно поменять порядок отчетов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 13:58 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
вставить строку 100490 из записи 100488, потом удалить строку 100488 вставлять с использованием: Код: sql 1. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 14:00 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
Konst_Oneвставить строку 100490 из записи 100488, потом удалить строку 100488 вставлять с использованием: Код: sql 1. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Если у тредстартера все так незатейливо, то не проще ли update-ом обменять содержимое строк. И не париться с SET IDENTITY_INSERT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 14:02 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
j-ester1) Я смотрел в профайлере - идет обращение и вывод полей, соответсвующее номеру в поле ID (PK, autoinkrement) какая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 14:06 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, Мне нет - руководству ДА. но спасибо - Ваш совет помог. SET IDENTITY_INSERT dbo.Tool ON; - то что нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 14:10 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
aleks222, UPDATE не работает, вывод писал выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 14:11 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
Konst_One, Спасибо, то что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 14:11 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
вот весело будет если FK не сделали но ссылаются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 14:13 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
j-esteraleks222, UPDATE не работает, вывод писал выше. Ну, у вас то, понятно, не работает. Работать надо головой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 14:14 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
Т.е. менять не ELID строк, а содержимое. Ибо от перемены мест слагаемых ничо не меняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 14:16 |
|
||
|
Как поменять местами РК
|
|||
|---|---|---|---|
|
#18+
aleks222, А вот вы знаете - Вы же правы !! Почему то я об этом не подумал...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2018, 14:25 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39695544&tid=1689182]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
129ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 439ms |

| 0 / 0 |
