Série WTF – 2
http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=4235086&SiteID=21
Eu fico feliz quando vejo isso, é sinal que vou ter emprego garantido por um bom tempo.
Desta vez tem de tudo, código comentado no meio do SQL, SubQueries totalmente desnecessárias… (Campo =1 OR Campo IS NULL)… Bom… veja com os próprios olhos…
UPDATE CIRCUITO SET
cod_coord_implantacao_cir = (SELECT cod_loc FROM localidade WHERE cnl_loc=cod_coordenador_implantacao),
cod_locA_cir = (SELECT cod_loc FROM localidade WHERE cnl_loc=sigla_localidade_ponta_a),
cod_locB_cir = (SELECT cod_loc FROM localidade WHERE cnl_loc=sigla_localidade_ponta_b),
cod_orgven_cir = (SELECT cod_orgven FROM Orgao_Vendas WHERE sigla_orgven=cod_coordenador_venda),
conta_corrente_usr_cir = cod_conta_corrente,
/* contrato_cir = ISNULL(cod_contrato_usuario_circuito,contrato_cir), */
contrato_especial_cir = cod_contrato_especial,
data_contrato_cir = ISNULL(data_contrato,data_contrato_cir),
data_cadastro_cir = data_entrada_contrato,
data_prazo_entrega_cir = case when data_prazo_entrega_cir is null then data_previsao_ativacao
when data_prazo_entrega_cir <> cast(data_previsao_ativacao as datetime) then data_previsao_ativacao
else data_prazo_entrega_cir
end,
data_prazo_entrega_original_cir = case when final_stat = 1 then null
else
case when data_prazo_entrega_cir is not null
and data_prazo_entrega_cir < cast(data_previsao_ativacao as datetime)
and data_prazo_entrega_original_cir is null then data_prazo_entrega_cir
else data_prazo_entrega_original_cir
end
end,
data_primeiro_reaprazamento_cir = case when final_stat = 1 then null
else
case when data_prazo_entrega_cir is not null
and data_prazo_entrega_cir < cast(data_previsao_ativacao as datetime)
and data_prazo_entrega_original_cir is not null
and data_primeiro_reaprazamento_cir is null then data_prazo_entrega_cir
else data_primeiro_reaprazamento_cir
end
end,
data_alt_data_prazo_entrega_cir = case when final_stat = 1 then null
else data_alt_data_prazo_entrega_cir
end,
resp_alt_data_prazo_entrega_cir = case when final_stat = 1 then null
else resp_alt_data_prazo_entrega_cir
end,
contrato_cir = cod_contrato_usuario_circuito,
cod_pendA_cir = (SELECT cod_pend FROM Pendencia WHERE sigla_pend=cod_pendencia_ponta_a),
cod_pendB_cir = (SELECT cod_pend FROM Pendencia WHERE sigla_pend=cod_pendencia_ponta_b),
cod_pendpri_cir = (SELECT cod_pendpri FROM Pendencia_Prioritaria WHERE cod_origem_pendpri=cod_pendencia_prioritaria),
cod_ofen_cir = (SELECT cod_ofen FROM Ofensor WHERE sigla_ofen=cod_ofensor_circuito),
cod_veloc_cir = (SELECT cod_veloc FROM Velocidade WHERE valor_veloc=cod_velocidade),
data_disp_tec_cir = DATA_DISPONIBILIDADE_TECNICA,
data_tec_sem_previsao_cir = DATA_INVIABILIDADE_TECNICA,
cod_provA_cir = (SELECT cod_prov FROM Provedor WHERE cod_prov=COD_PROVEDOR_PONTA_A),
num_pedido_acessoA_cir = NUM_PEDIDO_ACESSO_PONTA_A,
data_pedido_acessoA_cir = DATA_PEDIDO_ACESSO_PONTA_A,
cod_tipacesA_cir = (SELECT cod_tipaces FROM Tipo_Acesso WHERE sigla_tipaces=TIPO_ACESSO_PONTA_A),
num_acessoA1_cir = NUM_ACESSO_PONTA_A,
data_aceiteA_cir = DATA_ACEITE_PONTA_A,
enderecoA_cir = DESCR_ENDERECO_PONTA_A,
cod_provB_cir = (SELECT cod_prov FROM Provedor WHERE cod_prov=COD_PROVEDOR_PONTA_B),
num_pedido_acessoB_cir = NUM_PEDIDO_ACESSO_PONTA_B,
data_pedido_acessoB_cir = DATA_PEDIDO_ACESSO_PONTA_B,
cod_tipacesB_cir = (SELECT cod_tipaces FROM Tipo_Acesso WHERE sigla_tipaces=TIPO_ACESSO_PONTA_B),
num_acessoB1_cir = NUM_ACESSO_PONTA_B,
data_aceiteB_cir = DATA_ACEITE_PONTA_B,
enderecoB_cir = DESCR_ENDERECO_PONTA_B,
terminal_cir = COD_NUM_TERMINAL,
data_alocacao_cir = DATA_FIN_ALOCACAO,
data_configuracao_cir = DATA_FIN_CONFIGURACAO,
indic_reaprov_facilA_cir = INDIC_REAPR_ACESSO_PONTA_A,
indic_reaprov_facilB_cir = INDIC_REAPR_ACESSO_PONTA_B,
indic_situacao_pendencia_cir = INDIC_SITUACAO_PENDENCIA,
indic_tipo_pendencia_cir = INDIC_TIPO_PENDENCIA,
cod_agente_execa_cir = (case when final_stat = 1 then null
else cod_agente_execa_cir
end),
cod_agente_execb_cir = (case when final_stat = 1 then null
else cod_agente_execb_cir
end),
cod_agente_coord_cir = (case when final_stat = 1 then null
else cod_agente_coord_cir
end),
cod_acao_cir = (CASE indic_tipo_pendencia
WHEN 1 THEN 1
WHEN 5 THEN 1
WHEN 2 THEN CASE indic_acao
WHEN ‘F’ THEN 2
WHEN ‘V’ THEN 3
WHEN ‘E’ THEN 4
ELSE 6
END
END),
/*
cod_stat_cir = (CASE indic_situacao_pendencia
WHEN 1 THEN
CASE
WHEN ((cod_tiporgven_orgven=2)
AND (DATEDIFF(DAY,GETDATE(),DATA_PRAZO_ENTREGA_CIR)>30)
AND (DATA_PRAZO_ENTREGA_CIR IS NOT NULL)) THEN 12
WHEN ((cod_tiporgven_orgven=1)
AND (DATEDIFF(DAY,GETDATE(),DATA_PRAZO_ENTREGA_CIR)>45)
AND (DATA_PRAZO_ENTREGA_CIR IS NOT NULL)) THEN 12
ELSE
1 — PENDENTE
END
WHEN 2 THEN 3 — DISPONIBILIZADO
WHEN 3 THEN 2 — INVIAVEL
WHEN 4 THEN 9 — INTERROMPIDO
WHEN 5 THEN 14 — ATIVADO COMERCIAL
END),
*/
cod_stat_cir = (CASE indic_situacao_pendencia
WHEN 1 THEN
CASE
WHEN ( (DATEDIFF(DAY,GETDATE(),DATA_PRAZO_ENTREGA_CIR)>30)
AND (DATA_PRAZO_ENTREGA_CIR IS NOT NULL)) THEN 12
ELSE
1 — PENDENTE
END
WHEN 2 THEN 3 — DISPONIBILIZADO
WHEN 3 THEN 2 — INVIAVEL
WHEN 4 THEN 9 — INTERROMPIDO
WHEN 5 THEN 14 — ATIVADO COMERCIAL
END),
cod_veloc_anterior_cir= (SELECT cod_veloc FROM Velocidade WHERE valor_veloc=veloc_anterior),
indic_tipo_servico= CP.indic_tipo_servico,
cod_degrau= CP.cod_degrau,
data_aditivo_cir=CP.data_aditivo_cir,
indic_tipo_cliente_cir = CP.indic_tipo_cliente_cir,
migrado_cir = CP.migrado,
sinergia_novo = CP.sinergia_novo,
backbone_acesso = CP.backbone_acesso,
proposta_claro = CP.proposta_claro,
designacao_associada = CP.designacao_associada,
solicitacao_associada = CP.solicitacao_associada,
designacao_claro = CP.designacao_claro,
projeto_claro = CP.projeto_claro,
data_inicio_faturamento_claro = CP.data_inicio_faturamento_claro
FROM Circuito_Pendentes CP, status
WHERE (ots_ativacao_vsat_cir=ots_ativacao_vsat)
and (cod_stat = cod_stat_cir)
and (cod_servico=300)
and (cod_ser_cir=300)
and (fonte_cir=0)
and (cod_acao_cir <> 7 or cod_acao_cir is null) –Ação Desativar
Caramba….neguinho faz mágica mesmo..hehehehhe
Pois é cara…rs… Pensa comigo… Não tem Otimizador que guenta uma lógica dessas…
Oi Fabiano,Esse foi de lascar. Acho que tem gente que pensa que se retornar já tá valendo hehehe.Bom saber que estou assegurado no mercado de trabalho.Abs,
Pqp. srsrs eu nao tinha visto essa pérola no Fórum. Gostei dessa tua série no blog. O Controle de versão fica na própria SP. Abraços
Nossa, que isso, heheheMágica vai fazer é quem tiver de dar manutenção nisso depois ^^