Имя: Пароль:
1C
1C 7.7
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) да, если структура данных не менялась вполне можно и подменой мд делать (ну и в некоторых редких случаях изменения структуры тоже можно). а ссылки на файл вполне нормально закрываются и вполне штатной оснасткой "управление компьютером".
Главное - знать, что делаешь :-)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший