Como chamar função dentro de consulta sql???
/*utilizado para recuperar os campos em tempo de desenvolvimento*/
if (object_id('tempdb..#tmp_rel_ficha_multa') is null)
CREATE TABLE #tmp_rel_ficha_multa (
NOSSO_NR numeric(11) NULL,
dt_inicio_inscr_cadin smalldatetime null,
CD_TP_PF_PJ char(2) NULL,
NR_PF_PJ numeric(14) NULL,
NR_TERMO int NULL,
SG_UF char(2) NULL,
NR_ANO numeric(4) NULL,
NR_PROC numeric(5) NULL,
NR_PROCES varchar(20) NULL,
NR_PROCCVM VARCHAR(20) NULL,
DT_VENC smalldatetime NULL,
VL_MULTA numeric(23,2) NULL,
VL_DEVIDO numeric(23,2) NULL,
VL_JUROS numeric(23,2) NULL,
VL_ENCARG numeric(23,2) NULL,
VL_TOTAL numeric(23,2) NULL,
VL_MORA numeric(23,2) NULL, --Kuroki
DS_REFER VARCHAR(50) NULL,
DT_PAGTO smalldatetime NULL,
VL_PAGO numeric(23,2) NULL,
DT_ENCER smalldatetime NULL )
select inscr = case
when PC.nr_proces is null then 'N'
when len(PC.nr_proces) = 0 then 'N'
else 'S'
end,
NR_PF_PJ = case when t.CD_TP_PF_PJ = 'PJ'
then SubString(str(t.NR_PF_PJ + 100000000000000, 15), 2, 2) + '.'
+ SubString(str(t.NR_PF_PJ + 100000000000000, 15), 4, 3) + '.'
+ SubString(str(t.NR_PF_PJ + 100000000000000, 15), 7, 3) + '/'
+ SubString(str(t.NR_PF_PJ + 100000000000000, 15), 10,4) + '-'
+ SubString(str(t.NR_PF_PJ + 100000000000000, 15), 14,2)
when t.CD_TP_PF_PJ = 'PF'
then SubString(str(t.NR_PF_PJ + 100000000000000, 15), 5, 3) + '.'
+ SubString(str(t.NR_PF_PJ + 100000000000000, 15), 8, 3) + '.'
+ SubString(str(t.NR_PF_PJ + 100000000000000, 15), 11,3) + '/'
+ SubString(str(t.NR_PF_PJ + 100000000000000, 15), 14,2)
Else Str (t.NR_PF_PJ) end,
t.CD_TP_PF_PJ,
t.NOSSO_NR,
t.DT_VENC,
T.NR_PROCES,
NR_EF = case when t.nr_proces is null then ' '
when t.nr_proces = '' then ' ' else t.nr_proces end,
t.VL_DEVIDO,
t.VL_MULTA,
dbo.fc_RetornaMultaOuJuros(t.VL_MORA,t.VL_JUROS,t.NOSSO_NR,'J') as VL_JUROS,
t.VL_TOTAL,
dbo.fc_RetornaMultaOuJuros(t.VL_MORA,t.VL_JUROS,t.NOSSO_NR,'M') as VL_MORA,
SDS.NM_DENOM_SOCIAL,
SPICM.sg_uf,
SPICM.nr_ano,
SPICM.nr_proc,
t.nr_proccvm as proccvm,
T.DS_REFER,
t.vl_encarg,
T.DT_PAGTO,
T.VL_PAGO,
T.DT_ENCER
from #tmp_rel_ficha_multa t (nolock)
left join SAR_partic_inscr_cadin_multa SPICM(nolock)
on SPICM.nosso_nr = t.nosso_nr and
SPICM.dt_inicio_inscr_cadin = T.dt_inicio_inscr_cadin AND
SPICM.cd_tp_pf_pj = t.cd_tp_pf_pj and
SPICM.nr_pf_pj = t.nr_pf_pj
left join sic_denom_social SDS (nolock)
on SDS.CD_TP_PF_PJ = t.CD_TP_PF_PJ and
SDS.NR_PF_PJ = t.NR_PF_PJ and
dt_inicio_denom_social = (select MAX(dt_inicio_denom_social) from sic_denom_social sds2 (nolock)
where SDS.CD_TP_PF_PJ = sds2.CD_TP_PF_PJ and
SDS.NR_PF_PJ = sds2.NR_PF_PJ )
left join pju_cda PC (nolock)
on SPICM.nr_termo = PC.nr_termo
order by SPICM.sg_uf, SPICM.nr_ano, SPICM.nr_proc
if (object_id('tempdb..#tmp_rel_ficha_multa') is null)
CREATE TABLE #tmp_rel_ficha_multa (
NOSSO_NR numeric(11) NULL,
dt_inicio_inscr_cadin smalldatetime null,
CD_TP_PF_PJ char(2) NULL,
NR_PF_PJ numeric(14) NULL,
NR_TERMO int NULL,
SG_UF char(2) NULL,
NR_ANO numeric(4) NULL,
NR_PROC numeric(5) NULL,
NR_PROCES varchar(20) NULL,
NR_PROCCVM VARCHAR(20) NULL,
DT_VENC smalldatetime NULL,
VL_MULTA numeric(23,2) NULL,
VL_DEVIDO numeric(23,2) NULL,
VL_JUROS numeric(23,2) NULL,
VL_ENCARG numeric(23,2) NULL,
VL_TOTAL numeric(23,2) NULL,
VL_MORA numeric(23,2) NULL, --Kuroki
DS_REFER VARCHAR(50) NULL,
DT_PAGTO smalldatetime NULL,
VL_PAGO numeric(23,2) NULL,
DT_ENCER smalldatetime NULL )
select inscr = case
when PC.nr_proces is null then 'N'
when len(PC.nr_proces) = 0 then 'N'
else 'S'
end,
NR_PF_PJ = case when t.CD_TP_PF_PJ = 'PJ'
then SubString(str(t.NR_PF_PJ + 100000000000000, 15), 2, 2) + '.'
+ SubString(str(t.NR_PF_PJ + 100000000000000, 15), 4, 3) + '.'
+ SubString(str(t.NR_PF_PJ + 100000000000000, 15), 7, 3) + '/'
+ SubString(str(t.NR_PF_PJ + 100000000000000, 15), 10,4) + '-'
+ SubString(str(t.NR_PF_PJ + 100000000000000, 15), 14,2)
when t.CD_TP_PF_PJ = 'PF'
then SubString(str(t.NR_PF_PJ + 100000000000000, 15), 5, 3) + '.'
+ SubString(str(t.NR_PF_PJ + 100000000000000, 15), 8, 3) + '.'
+ SubString(str(t.NR_PF_PJ + 100000000000000, 15), 11,3) + '/'
+ SubString(str(t.NR_PF_PJ + 100000000000000, 15), 14,2)
Else Str (t.NR_PF_PJ) end,
t.CD_TP_PF_PJ,
t.NOSSO_NR,
t.DT_VENC,
T.NR_PROCES,
NR_EF = case when t.nr_proces is null then ' '
when t.nr_proces = '' then ' ' else t.nr_proces end,
t.VL_DEVIDO,
t.VL_MULTA,
dbo.fc_RetornaMultaOuJuros(t.VL_MORA,t.VL_JUROS,t.NOSSO_NR,'J') as VL_JUROS,
t.VL_TOTAL,
dbo.fc_RetornaMultaOuJuros(t.VL_MORA,t.VL_JUROS,t.NOSSO_NR,'M') as VL_MORA,
SDS.NM_DENOM_SOCIAL,
SPICM.sg_uf,
SPICM.nr_ano,
SPICM.nr_proc,
t.nr_proccvm as proccvm,
T.DS_REFER,
t.vl_encarg,
T.DT_PAGTO,
T.VL_PAGO,
T.DT_ENCER
from #tmp_rel_ficha_multa t (nolock)
left join SAR_partic_inscr_cadin_multa SPICM(nolock)
on SPICM.nosso_nr = t.nosso_nr and
SPICM.dt_inicio_inscr_cadin = T.dt_inicio_inscr_cadin AND
SPICM.cd_tp_pf_pj = t.cd_tp_pf_pj and
SPICM.nr_pf_pj = t.nr_pf_pj
left join sic_denom_social SDS (nolock)
on SDS.CD_TP_PF_PJ = t.CD_TP_PF_PJ and
SDS.NR_PF_PJ = t.NR_PF_PJ and
dt_inicio_denom_social = (select MAX(dt_inicio_denom_social) from sic_denom_social sds2 (nolock)
where SDS.CD_TP_PF_PJ = sds2.CD_TP_PF_PJ and
SDS.NR_PF_PJ = sds2.NR_PF_PJ )
left join pju_cda PC (nolock)
on SPICM.nr_termo = PC.nr_termo
order by SPICM.sg_uf, SPICM.nr_ano, SPICM.nr_proc
Emir Neto
Curtidas 0
Respostas
Deivison Melo
11/11/2013
Qual banco de dados que está utilizando, qual a finalidade da função ?
Explica pois pode ser que seja necessário confeccionar a função dentro do sql!
Abração e bons códigos!!!
Explica pois pode ser que seja necessário confeccionar a função dentro do sql!
Abração e bons códigos!!!
GOSTEI 0
Emir Neto
11/11/2013
Resolvido. Foi exatamente da forma que coloquei. O banco é o SQL Server
GOSTEI 0
Deivison Melo
11/11/2013
Encerrando tópico!
GOSTEI 0
Deivison Melo
11/11/2013
Encerrando tópico!
GOSTEI 0
Deivison Melo
11/11/2013
Encerrando tópico!
GOSTEI 0