|
v7: Знатоки T-SQL, подскажите, можно ли ВСТАВИТЬ новую колонку в таблицу | ☑ | ||
---|---|---|---|---|
0
Mikeware
26.05.14
✎
16:11
|
Именно вставить на нужную позицию, а не добавить в конец.
смысл вопроса: понадобилось добавить регистр, штатно клюшки добавляют флаг регистра в журнал очень долго... |
|||
1
Ненавижу 1С
гуру
26.05.14
✎
16:15
|
ничего не понял
|
|||
2
ДенисЧ
26.05.14
✎
16:17
|
alter table add...
|
|||
3
Mikeware
26.05.14
✎
16:18
|
(1) alter table add column [] - добавляет колонку в конец списка полей таблицы.
т.к. для 7.7 порядок порей в журнале существенен - колонку нужно _вставить_ в определенную позицию (грубо говоря, "в середину списка"). |
|||
4
Ёпрст
26.05.14
✎
16:18
|
альтер табле не подходит ?..
|
|||
5
ДенисЧ
26.05.14
✎
16:19
|
(3) дроп всё, вставка по нужному порядку....
|
|||
6
Ёпрст
26.05.14
✎
16:19
|
(3) да ладно ? вот не пофик ли, где она будет.. только на дбф были проблемы с этим..
|
|||
7
Ненавижу 1С
гуру
26.05.14
✎
16:19
|
(3) а ничего, что метаданные знать не будут, что у тебя появилась колонка в таблице?
|
|||
8
Mikeware
26.05.14
✎
16:19
|
(2) см (3).
А мудификатора, позволяющего указать позицию (типа AFTER [] для MySql) я не нашел. |
|||
9
f_vadim
26.05.14
✎
16:19
|
mssql же?
никак. можно создать новую таблицу и перенести данные из старой. |
|||
10
Mikeware
26.05.14
✎
16:19
|
(7) будут, не волнуйся. я им телеграмму дам....
|
|||
11
Mikeware
26.05.14
✎
16:21
|
(9) три лишних телодвижения. В принципе, не особая проблема, но придется выгонять юзверей минут на 15-20....
|
|||
12
Ненавижу 1С
гуру
26.05.14
✎
16:22
|
по-моему порядок не важен, важны индексы
|
|||
13
Ёпрст
26.05.14
✎
16:22
|
(11) попробуй в конец, не должно там ничего зависеть от этого
|
|||
14
Ёпрст
26.05.14
✎
16:23
|
в дбф, точно есть зависимость , на скуле. вроде пофик.
|
|||
15
Mikeware
26.05.14
✎
16:24
|
(12) (13) На боевой базе экспериментировать совесть не позволяет, а тестовая пустая. Лень бэкап разворачивать.
Но вроде натыкался на выборку полей для УРБД именно "в порядке реквизитов". |
|||
16
Z1
26.05.14
✎
16:28
|
(0) порядок колонок(столбцов) на уровне t-sql ( да и вообще ansi sql ).
т.е. порядок колонок в таблице это внутренее дело ms sql. как бы есть только один оператор select * который использует физический порядок столбцов, но как бы использование select * плохой тон в написании t-sql операторов. То что 1с можно поменять порядок столбцов это делается через полную да еще и построчную(поэтому и медленно) реструктаризацию таблицы. |
|||
17
f_vadim
26.05.14
✎
16:28
|
(11) Если это нужно для временной таблицы, то можно попробовать триггер написать.
|
|||
18
Mikeware
26.05.14
✎
16:31
|
(16) То, что "плохой тон" - это понятно.
Просто ощущение, что в выборке для УРБД этот "плохой тон" как раз используется. (17) не временной. в журнал нужно флажок (rf) добавить. |
|||
19
ДенисЧ
26.05.14
✎
16:38
|
(18) уже сделал бы...
|
|||
20
Mikeware
26.05.14
✎
16:42
|
(19) промоделировал.
через пару часов выгоню юзверей, и сделаю. Хотелось воршебства, мля, а тут руками работать приходится.... |
|||
21
Z1
26.05.14
✎
16:45
|
(18) ну да сплошь и рядом 1с использует select *
сколько всего документов в базе ? |
|||
22
ДенисЧ
26.05.14
✎
16:45
|
(20) ты пользователей пожалел??
|
|||
23
toypaul
гуру
26.05.14
✎
16:53
|
оператор insert учитывает порядок колонок, если ему специально не указать что куда вставляется. так что порядок важен.
|
|||
24
Z1
26.05.14
✎
17:05
|
(23) да в (0) не о том
автор хочет вставить новый столбец в таблицу после конкретного столбца ( alter table add ) |
|||
25
Mikeware
26.05.14
✎
17:11
|
(21) Чуть меньше 6 миллонов
(20) рабочий процесс 24*7. (24) о том. при обмене в распределенке в инсерт передается список из файла обмена. |
|||
26
trad
26.05.14
✎
17:19
|
(20) в EM колонку добавь и мышкой перетащи - минимум работы руками
|
|||
27
Z1
26.05.14
✎
17:23
|
(26) прикольно даже не знал о таком.
|
|||
28
Mikeware
26.05.14
✎
17:28
|
(26) похоже, ты гений.....
|
|||
29
trad
26.05.14
✎
17:35
|
(28) с тебя консультация по А+ :)
|
|||
30
f_vadim
26.05.14
✎
17:35
|
(28) получилось?
мне проверить негде. |
|||
31
Mikeware
26.05.14
✎
17:36
|
(29) всегда пожалуйста :-)
|
|||
32
Mikeware
26.05.14
✎
17:37
|
(30) надо все-таки выгнать будет для замены md. А по графику еще час работы логистов.
|
|||
33
Mikeware
26.05.14
✎
17:37
|
(30) А на пустой копии - получилось.
|
|||
34
ADirks
27.05.14
✎
06:51
|
Если порядок колонок в базе и мд-шнике не совпадает, то 1С ругнётся "нарушена структура". Это точно. Собственно, понятно почему - select * же.
Кстати, мд-шник можно подменить не выгоняя пользователей, мы как-то проверяли :) Есть чудесная утилита handle от SysInternals, она позволяет позакрывать все ссылки на файл, после чего можно спокойно его подменять. Но конечно не в случае с метаданными (нам надо было какую-то mxl'ку подменить). |
|||
35
Mikeware
27.05.14
✎
07:44
|
Вчера окончания работы сотров не дождался, домой ушел. Сегодня буду обновлять.
(34) да, если структура данных не менялась вполне можно и подменой мд делать (ну и в некоторых редких случаях изменения структуры тоже можно). а ссылки на файл вполне нормально закрываются и вполне штатной оснасткой "управление компьютером". Главное - знать, что делаешь :-) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |