|
v7: Помогите с запросом SQL |
☑ |
0
AlexSTAL
07.07.15
✎
08:44
|
Коллеги, в SQL-запросах вообще не спец, помогите с запросом
Есть запрос, который обнуляет значение документа, если в журнале документ помечен на удаление
ТекстЗапроса = "
|UPDATE _1sconst
|SET docid = ' 0 '
|WHERE docid in(select iddoc from _1sjourn (nolock) where ((closed = 4) and (ismark = 1)))";
Как написать аналогичный запрос, который обнуляет, если документ вообще отсутствует в журнале ("объект не найден")
|
|
1
el-gamberro
07.07.15
✎
08:49
|
Надо связывать с таблицей, которая не видит объект в журнале. Например если пытаемся смотреть из справочника, то выбираем наши ИД документов по таблице справочника, ищем в журнале и если NULL, то значения очищаем.
|
|
2
1Сергей
07.07.15
✎
08:54
|
(1) тянуть надо из _1sconst с левым соединением с _1sjourn с условием is NULL
|
|
3
AlexSTAL
07.07.15
✎
08:55
|
(2) буду благодарен, если эти 2 строчки кода покажите вживую
|
|
4
DCKiller
07.07.15
✎
09:02
|
|UPDATE _1sconst
|SET docid = ' 0 '
|WHERE docid IN (SELECT docid FROM _1sconst As Const LEFT JOIN _1sjourn As Journ ON Journ.IDDOC = Const.DocID WHERE Journ.IDDOC IS NULL)
Ну как-то так... :)
|
|
5
AlexSTAL
07.07.15
✎
09:52
|
Попробовал вот такой код
ТекстЗапроса = "
|UPDATE _1sconst
|SET docid = ' 0 '
|WHERE docid not in(select iddoc from _1sjourn (nolock))";
визуально всё правильно обработал без всяких соединений...
нет подводных камней?
|
|
6
DCKiller
07.07.15
✎
09:54
|
(5) Поздравляю, ты затер значения всех констнат и периодических реквизитов справочников.
|
|
7
AlexSTAL
07.07.15
✎
09:56
|
(6) Почему затёр? Визуально всё на месте
Запрос изменяем колонку с документом (каким документом был установлен периодический реквизит) и всё...
Со значениями он вообще ничего не делает
|
|
8
1Сергей
07.07.15
✎
09:58
|
(6) просто перезаписал
|
|
9
DCKiller
07.07.15
✎
09:59
|
(7) А ну да, у тебя ж он чисто колонку с полем ид документа меняет...
Ну тогда вроде все норм :)
|
|
10
Mikeware
07.07.15
✎
09:59
|
(6) не затер, а отвязал от регистратора
|
|
11
DCKiller
07.07.15
✎
10:03
|
(10) ну так ему вроде это и нужно было
|
|
12
AlexSTAL
07.07.15
✎
10:03
|
Я просто на копии проверил
вот думаю, применять к боевой... 45 Гб однако
|
|
13
AlexSTAL
07.07.15
✎
10:03
|
(11) да, именно это мне и нужно, если регистратора уже нет в базе
|
|
14
Drac0
07.07.15
✎
10:04
|
(13) А ты сделал наоборот :) Отвязал от регистраторов, которые есть в базе...
|
|
15
Drac0
07.07.15
✎
10:05
|
+(14) не, вру. Норм. я not не заметил.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший