maeglor: (Default)
[personal profile] maeglor
Ну блин, с кем я живу, что я ем! *WALL* Сегодня разбирал ошибку и наткнулся на вот такой вот фееричный кусочек(никаких триггеров, и умолчаний на VORON_PRT нет, это я как краевед менеджер проекта говорю).


/* Временная таблица */
delete from  VORON_PRT;

/* вставить коды сделок */
insert into VORON_PRT (ID_PR_INT)
select ID
from  PR_INT
where  ID_PRCL IN (select ID from PR_CL);



/* Добавим то что случилось за период   */
insert into VORON_PRT 
    (
     ID_PR_INT  --1
    ,PDATE      --2
    ,ID_IST     --3
    ,ID_ETAP    --4
    ,AMMOU      --5
    ,CENA1      --6
    )
select 
     p.ID       --1
    ,pc.PDATE   --2
    ,pc.ID      --3
    ,pc.ID_ETAP --4
    ,pc.AMMOU   --5
    ,pc.CENA1   --6
from  PR_INT p, 
inner join PR_INT_C pc 
    on p.ID=pc.ID_PR_INT 
where  p.ID_PRCL IN (select ID from PR_CL) 
    and p.DATAZ>=:dt1  
    and p.DATAZ<=:dt2;

delete from VORON_PRT
where ID_ETAP IS NULL 
   or ID_ETAP=0 
   or ID_ETAP NOT IN (select ID from PR_INT_ETAP );
            
update VORON_PRT
set ETAP=(select NAME from PR_INT_ETAP 
              where ID=VORON_PRT.ID_ETAP
           ) ;


Именно для таких случаев есть прекрасное русское выражение "поматросил и бросил". :) :D *ROFL*. Ну и я уже не говорю о том что таблица обьявлена вовсе не как временная, да и апдейт сразу за инсертом, видимо дань религии...

March 2017

S M T W T F S
   1234
5678 91011
12131415161718
19202122232425
262728293031 

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 20th, 2017 12:14 pm
Powered by Dreamwidth Studios