Tengo un procedimiento almacenado como sigue. ¿Mi pregunta es puede yo utiliza las tablas del #tmp_ (ex #tmp_initial_RMD_candidates) para insertar datos intermedios y después para cargar los datos finales en una tabla del “tp_” que sea utilizada para generar un informe? el If del ********* del del ********** del del ********** del del ********** del del ********** del del ********** del del ********** del del ************************** del EXISTE (SELECCIONAR * DE INFORMATION_SCHEMA.TABLES DONDE TABLE_SCHEMA = “dbo” Y TABLE_NAME = “tp_rmd_rpt ") el tp_rmd_rpt GO IF de la TABLA de la GOTA del EXISTE (nombre SELECTO del sysindexes DONDE nombre = “ix01”) el ÍNDICE tp_rmd_rpt.ix01 GO de la GOTA del --caer la tabla dbo.tp_rmd_rpt (prsn_id internacional, pers_id internacional, ss_nr del tp_rmd_rpt create de la tabla del del del varchar (9), fst_nm del varchar (20), mid_nm del varchar (20), last_nm del varchar (20), carbón de leña del sfx_cd del (4), fecha y hora del brth_dt del , fecha y hora del deth_dt del , -- envejecer el decimal (4.1), el índice ix01 del GO create del datetime del RMD_dt) en objeto del ****** del GO /del tp_rmd_rpt (pers_id): StoredProcedure [dbo]. fecha de la escritura [del csp_rmd_rpt]: 06/02/2010 07:24: 22 objeto del * del **** del del ********** del del ********** del del ********** del del ********** del del ********** del del ********** del del ********** del del ************************** del ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /* : El */ IF del **** del del ********** del del ********** del del ********** del del ********** del del ********** del del ********** del del ********** del del ************************** del del procedimiento almacenado dbo.csp_rmd_rpt EXISTE (SELECCIONAR * de INFORMATION_SCHEMA.ROUTINES DONDE ROUTINE_SCHEMA = “dbo” Y ROUTINE_NAME = “@rpt_run_dt = busn_dt del datetime select del @rpt_run_dt del PROCEDIMIENTO dbo.csp_rmd_rpt
as
begin
declare del PROCEDIMIENTO dbo.csp_rmd_rpt GO
CREATE de la GOTA del ") del csp_rmd_rpt del be_busn_dt
Select be_prsn.prsn_id, pers_id, fst_nm, mid_nm, last_nm, sfx_cd, brth_dt, deth_dt, convert (decimal (5.2), (CASE CUANDO DATEPART (d, el getdate ()) >= DATEPART (d, brth_dt) ENTONCES (DATEDIFF (m, brth_dt, getdate ()) /12.0) ((DATEDIFF (m, brth_dt, getdate ()) - 1)/12.0) EXTREMOS)) envejecer, el (caso cuando día (dateadd (mes, ((70*12) +6), el brth_dt)) = 1 entonces dateadd otro del del dateadd (mes, ((70*12) +6), brth_dt) (día, de un día (dateadd (mes, ((70*12) +6), brth_dt)), dateadd (mes, 1, dateadd (mes, ((70*12) +6), brth_dt)))¡be_prsn, be_empt_hist, be_mbr_acct, acct_stat_vw, be_mbr Where be_prsn.prsn_id = be_mbr.prsn_id y be_empt_hist.mbr_id = be_mbr_acct.mbr_id del From del #tmp_initial_RMD_candidates de RMD_dt into del final del ) y be_empt_hist.mbr_id = be_mbr.mbr_id y be_mbr_acct.acct_id = acct_stat_vw.acct_id y be_mbr_acct.mbr_id = be_mbr.mbr_id y be_empt_hist.end_dt en (a.max_end_dt de (mbr_id selecto, max_end_dt máximo (del end_dt) del del be_empt_hist donde mbr_id = grupo de be_mbr.mbr_id por el mbr_id) el a donde a.max_end_dt! = “2999-12-31”) el y el pers_id NO ES NULL y el <> 3 y DATEDIFF (MES, brth_dt, CONVERTIDO (FECHA Y HORA del pln_id, '04.15. '+ ECHADO (CASO CUANDO MES (getdate ()) > 4 ENTONCES AÑOS (getdate ()) + 1 AÑO OTRO (getdate ()) EXTREMO COMO varchar)) ) > 846 y acct_stat_vw.eff_dt = (el SELECCIONA el del max (x.eff_dt) de acct_stat_vw COMO x en DONDE x.acct_id = acct_stat_vw.acct_id Y x.acct_id = be_mbr_acct.acct_id y x.acct_stat_cd (el ") del “ACTO”, de la “ESPERA”, “de DTH y convertido (carbón de leña (10), x.eff_dt, 111) + el str (x.acct_id) = el ( máximo (convertido str (del carbón de leña (10), x2.eff_dt, 111) + (x2.acct_id)) del where del acct_stat_vw x2 del y acct_stat_vw.acct_stat_cd del de x2.acct_id = de acct_stat_vw.acct_id y de x2.acct_id = de be_mbr_acct.acct_id )) en (el “ACTO”, “ESPERA”, “DTH ") el group por be_prsn.prsn_id, pers_id del , ss_nr del , fst_nm del , mid_nm del , last_nm del , sfx_cd del , brth_dt del , deth_dt del , (CASO CUANDO DATEPART (d, getdate ()) >= DATEPART (d, brth_dt) ENTONCES (DATEDIFF (m, brth_dt, getdate ()) /12.0) ((DATEDIFF (m, brth_dt, getdate ()) - 1)/12.0) EXTREMOS) --quitar esto de archivo final como la edad no será exhibida en el file. , (caso cuando día (dateadd (mes, ((70*12) +6), el brth_dt)) entonces dateadd otro del del del dateadd =1 (mes, ((70*12) +6), brth_dt) (día, de un día (dateadd (mes, ((70*12) +6), brth_dt)), dateadd (mes, 1, dateadd (mes, ((70*12) +6), brth_dt)))
del extremo del )--conseguir el initial_rmd_accts.pers_id del acct_bal select, el initial_rmd_accts.deth_dt del , el sum ( vw.rglr_int_item_amt+ vw.var_int_item_amt + vw.unit_int_item_amt del vw.post_tax_cntrb + vw.empr_pre_tax_cntrb + vw.var_empr_pre_tax_cntrb_amt + vw.var_post_tax_cntrb_amt + vw.var_pre_tax_cntrb_amt+ vw.unt_cntrb_amt + vw.pre_tax_unt_cntrb_amt+ de vw.pre_tax_cntrb+) como initial_rmd_accts #acct_bal del #tmp_initial_RMD_candidates del from del tot_acct_bal into, VW del mam_acct_bal_vw, el be_prsn a, el be_mbr b, el where del be_mbr_acct c a.pers_id = initial_rmd_accts.pers_id y a.prsn_id = initial_rmd_accts.prsn_id y el de b.prsn_id = de a.prsn_id y el de c.mbr_id = de b.mbr_id y el de vw.acct_id = de c.acct_id y el <> 3 group de c.pln_id por initial_rmd_accts.pers_id, pers_id del initial_rmd_accts.deth_dt
select tprmd.pers_id, deth_dt del acctbal.deth_dt, acctbal.tot_acct_bal, tprmd.prsn_id, fst_nm del tprmd.fst_nm, mid_nm del tprmd.mid_nm, last_nm del tprmd.last_nm, sfx_cd del tprmd.sfx_cd, brth_dt del tprmd.brth_dt, tprmd.RMD_dt RMD_dt, case cuando acctbal.tot_acct_bal = 0.0 y acctbal.deth_dt no es nulo entonces “excluye” el cuando (acctbal.tot_acct_bal = 0.0 y acctbal.deth_dt es nulo) o (acctbal.tot_acct_bal > 0.0 y acctbal.deth_dt es nulo) o (acctbal.tot_acct_bal > 0.0 y acctbal.deth_dt no es nulo) entonces “incluir” el extremo como tprmd del tp_rmd_rpt del from del #tmp_rmd_flag del into de RMD_flag ensambla el acctbal en acctbal.pers_id = tprmd.pers_id
insert en el prsn_id, pers_id, ss_nr, fst_nm, mid_nm, last_nm del select del tp_rmd_rpt, el sfx_cd, brth_dt, deth_dt, where RMD_flag del #tmp_rmd_flag del RMD_dt from = “incluye” --3486
RETURN END
class= del
|