c# - Show result of nested cursors as a single table in SQL Server -
in stored procedure shown below, have 5 cursors scroll data in several tables select information need while go through 1 of tables, using parameters of selection various columns of initial query shown in first cursor.
at end execute query result of cursors. final query shows result split in tables divided code of record identified id. although records belong same entity procedure shows divided tables , need impression shown single table able pass result asp.net gridview c#. procedure created in sql server 2012. await comments , thank you.
alter proc [dbo].[sp_presing] @ident int set nocount on declare mi_cursor cursor select p.idlinea, p.identidad, n.capitulo cap, n.nombre, p.anio, p.idingreso, c.tipo, c.conceptoobj, c.cuenta, c.subcuenta, c.auxiliar, c.descripcion descaux, p.idotorgante, isnull(e.nombre, '') otorg, isnull(e.capitulo, '') capotor, p.idfuente, f.fuente, p.idespecifica, t.fuenteespecifica claespecifica, t.descripcion espec, p.idorgfin, o.descripcion orgfin, o.organismofin claorgfin, p.presoriginal original, p.ejecucionest ejecutado, p.proyectado dbo.pre_pres_ingresos p left outer join dbo.pre_cla_ing_gas_fin c on p.idingreso = c.idlinea left outer join dbo.pre_cla_fuentefinanciamiento f on p.idfuente = f.idlinea left outer join dbo.pre_cla_fuentefinanciamiento t on t.idlinea = p.idespecifica left outer join dbo.pre_cla_orgfinanciadores o on p.idorgfin = o.idlinea left outer join entidades.dbo.ent_tbt_entidades e on p.idotorgante = e.identidad left outer join entidades.dbo.ent_tbt_entidades n on p.identidad = n.identidad p.identidad = @ident open mi_cursor declare @idlinea int, @identidad int, @capitulo char(4), @nombre varchar(250), @anio char(4), @ing int, @tipo char(1), @concepto char(1), @cuenta char(1), @subcuenta char(1), @auxiliar char(2), @descaux varchar(250), @idotorgante int, @otorg varchar(250), @capotor char(4), @idfuente int, @fuente char(2), @idespecifica int, @claespecifica char(4), @espec varchar(250), @idorgfin int, @orgfin varchar(250), @claorgfin char(4), @original decimal(18,2), @ejecutado decimal(18,2), @proyectado decimal(18,2) fetch next mi_cursor @idlinea, @identidad, @capitulo, @nombre, @anio, @ing, @tipo, @concepto, @cuenta, @subcuenta, @auxiliar, @descaux, @idotorgante, @otorg, @capotor, @idfuente, @fuente, @idespecifica, @claespecifica, @espec, @idorgfin, @orgfin, @claorgfin, @original, @ejecutado, @proyectado while @@fetch_status = 0 begin declare ctipo cursor select tipo, descripcion pre_cla_ing_gas_fin tipo = @tipo , conceptoobj='' open ctipo declare @tipo2 char(1), @desc varchar(200) fetch next ctipo @tipo2, @desc while @@fetch_status=0 begin fetch next ctipo @tipo2, @desc end close ctipo deallocate ctipo declare cconcepto cursor select conceptoobj, descripcion pre_cla_ing_gas_fin tipo = @tipo , conceptoobj=@concepto , cuenta='' open cconcepto declare @concepto2 char(1), @desc2 varchar(200) fetch next cconcepto @concepto2, @desc2 while @@fetch_status=0 begin fetch next cconcepto @concepto2, @desc2 end close cconcepto deallocate cconcepto declare ccuenta cursor select cuenta, descripcion pre_cla_ing_gas_fin tipo = @tipo , conceptoobj=@concepto , cuenta=@cuenta , subcuenta='' open ccuenta declare @cuenta2 char(1), @desc3 varchar(200) fetch next ccuenta @cuenta2, @desc3 while @@fetch_status=0 begin fetch next ccuenta @cuenta2, @desc3 end close ccuenta deallocate ccuenta declare csubcuenta cursor select subcuenta, descripcion pre_cla_ing_gas_fin tipo = @tipo , conceptoobj=@concepto , cuenta=@cuenta , subcuenta=@subcuenta , auxiliar='' open csubcuenta declare @subcuenta2 char(1), @desc4 varchar(200) fetch next csubcuenta @subcuenta2, @desc4 while @@fetch_status=0 begin fetch next csubcuenta @subcuenta2, @desc4 end close csubcuenta deallocate csubcuenta fetch next mi_cursor @idlinea, @identidad, @capitulo, @nombre, @anio, @ing, @tipo, @concepto, @cuenta, @subcuenta, @auxiliar, @descaux, @idotorgante, @otorg, @capotor, @idfuente, @fuente, @idespecifica, @claespecifica, @espec, @idorgfin, @orgfin, @claorgfin, @original, @ejecutado, @proyectado select @idlinea id, @identidad identidad, @capitulo capitulo, @nombre entidad, @anio anio, @ing idingreso, @tipo tipo, @concepto concepto, @cuenta cuenta, @subcuenta subcuenta, @auxiliar auxiliar, @descaux desccuentaaux, @idotorgante idotorgante, @otorg desotor, @capotor capotor, @idfuente idfuente, @fuente capfuente, @idespecifica idespe, @claespecifica claesp, @espec desespe, @idorgfin idorgfin, @orgfin desorgfin, @claorgfin claorgfin, @original original, @ejecutado ejecutado, @proyectado proyectado, @tipo2 tipo2, @desc desctipo2, @concepto2 concep2, @desc2 descconcep2, @cuenta2 cuenta2, @desc3 desccuenta2, @subcuenta2 sub2, @desc4 descsub2 end close mi_cursor deallocate mi_cursor[enter image description here][1]
Comments
Post a Comment