<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlserver.ro/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>T-SQL</title><link>http://sqlserver.ro/forums/15/ShowForum.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Re: optimizare procedura sql server 2000</title><link>http://sqlserver.ro/forums/thread/3970.aspx</link><pubDate>Fri, 08 Feb 2008 14:43:04 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:3970</guid><dc:creator>xmldeveloper</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/3970.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=3970</wfw:commentRss><description>&lt;P&gt;uniqueidentifier ? &lt;/P&gt;
&lt;P&gt;Lucrati pentru o primarie nu ? Directia Taxe si Impozite &lt;img src="http://sqlserver.ro/emoticons/emotion-11.gif" alt="Cool" /&gt;&lt;/P&gt;</description></item><item><title>Re: optimizare procedura sql server 2000</title><link>http://sqlserver.ro/forums/thread/3968.aspx</link><pubDate>Fri, 08 Feb 2008 09:06:26 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:3968</guid><dc:creator>cretzu</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/3968.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=3968</wfw:commentRss><description>Eu zic ca s-ar putea imbunatatii performantele daca nu ai folosi atatea apeluri de functie. Adica ideea pe care ma bazez este sa incerci sa inlocuiesti functia GetGrupareByIDTipMatricola&lt;br&gt;cu un select in care sa folosesti instructiunea CASE.&lt;br&gt;&lt;br&gt;E o parere, sper sa iti fie utila.&lt;br&gt;</description></item><item><title>optimizare procedura sql server 2000</title><link>http://sqlserver.ro/forums/thread/3954.aspx</link><pubDate>Tue, 05 Feb 2008 15:18:57 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:3954</guid><dc:creator>Alex</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/3954.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=3954</wfw:commentRss><description>&lt;P&gt;salut, are cineva inspiratie si timp sa ma ajute sa optimizez si eu urmatoarea procedura.....sau o idee ceva.....multumesc anticipat&lt;/P&gt;
&lt;P&gt;am procedura:&lt;/P&gt;
&lt;P&gt;CREATE PROCEDURE dbo.cg_GetCentralizatorRamasite_PF_PJ_ListaPeCreanta&lt;/P&gt;
&lt;P&gt;&amp;nbsp;@dataCurenta smalldatetime,&lt;BR&gt;&amp;nbsp;@idprim uniqueidentifier,&lt;BR&gt;&amp;nbsp;@filtru_tip_persoana tinyint&lt;BR&gt;AS&lt;/P&gt;
&lt;P&gt;IF @filtru_tip_persoana = 1&lt;BR&gt;begin&lt;/P&gt;
&lt;P&gt;&amp;nbsp;select distinct&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;dbo.GetGrupareByIDTipMatricola(dbf.id_tipmatr,dbf.id_matr) as grup,&lt;BR&gt;&amp;nbsp;&amp;nbsp;dbf.an,&lt;BR&gt;&amp;nbsp;&amp;nbsp;coalesce(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(select sum(suma)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;from gotax.dbo.debite_pf p&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inner join gotax.dbo.roluri_fiz r&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;on r.id = p.id_rol&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;where &amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.id_tipdebit = 2&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and p.an = dbf.an&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and &amp;nbsp;dbo.GetGrupareByIDTipMatricola(dbf.id_tipmatr,dbf.id_matr)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dbo.GetGrupareByIDTipMatricola(p.id_tipmatr,p.id_matr)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and r.id_prim = @idprim&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;,0) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;as ramasite,&lt;BR&gt;&amp;nbsp;&amp;nbsp;coalesce(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(select sum(suma)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;from gotax.dbo.debite_pf p&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inner join gotax.dbo.roluri_fiz r&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;on r.id = p.id_rol&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;where &amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(p.id_tipdebit = 5 or p.id_tipdebit = 8) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and p.an = dbf.an&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and &amp;nbsp;dbo.GetGrupareByIDTipMatricola(dbf.id_tipmatr,dbf.id_matr)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dbo.GetGrupareByIDTipMatricola(p.id_tipmatr,p.id_matr)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and r.id_prim = @idprim&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;,0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;as accesorii&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;,dbf.id_tipmatr&lt;BR&gt;&amp;nbsp;from &amp;nbsp;&amp;nbsp;gotax.dbo.roluri_fiz r&lt;BR&gt;&amp;nbsp;inner join &amp;nbsp;gotax.dbo.debite_pf dbf&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;on r.id = dbf.id_rol&lt;BR&gt;&amp;nbsp;where &amp;nbsp;r.id_prim = @idprim and&lt;BR&gt;&amp;nbsp;&amp;nbsp;dbf.id_tipdebit in (2,5,8)&lt;BR&gt;&amp;nbsp;order by dbf.id_tipmatr&lt;BR&gt;&amp;nbsp;&lt;BR&gt;end &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;IF @filtru_tip_persoana = 2&lt;BR&gt;begin&lt;/P&gt;
&lt;P&gt;&amp;nbsp;select distinct&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;dbo.GetGrupareByIDTipMatricola(dbj.id_tipmatr,dbj.id_matr) as grup,&lt;BR&gt;&amp;nbsp;&amp;nbsp;dbj.an,&lt;BR&gt;&amp;nbsp;&amp;nbsp;coalesce(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(select sum(suma)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;from gotax.dbo.debite_pj p&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inner join gotax.dbo.roluri_jur r&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;on r.id = p.id_rol&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;where &amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.id_tipdebit = 2&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and p.an = dbj.an&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and &amp;nbsp;dbo.GetGrupareByIDTipMatricola(dbj.id_tipmatr,dbj.id_matr)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dbo.GetGrupareByIDTipMatricola(p.id_tipmatr,p.id_matr)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and r.id_prim = @idprim&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;,0) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;as ramasite,&lt;BR&gt;&amp;nbsp;&amp;nbsp;coalesce(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(select sum(suma)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;from gotax.dbo.debite_pj p&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inner join gotax.dbo.roluri_jur r&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;on r.id = p.id_rol&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;where &amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(p.id_tipdebit = 5 or p.id_tipdebit = 8) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and p.an = dbj.an&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and &amp;nbsp;dbo.GetGrupareByIDTipMatricola(dbj.id_tipmatr,dbj.id_matr)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dbo.GetGrupareByIDTipMatricola(p.id_tipmatr,p.id_matr)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and r.id_prim = @idprim&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;,0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;as accesorii&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;,dbj.id_tipmatr&lt;BR&gt;&amp;nbsp;from &amp;nbsp;&amp;nbsp;gotax.dbo.roluri_jur r&lt;BR&gt;&amp;nbsp;inner join &amp;nbsp;gotax.dbo.debite_pj dbj&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;on r.id = dbj.id_rol&lt;BR&gt;&amp;nbsp;where &amp;nbsp;r.id_prim = @idprim and&lt;BR&gt;&amp;nbsp;&amp;nbsp;dbj.id_tipdebit in (2,5,8)&lt;BR&gt;&amp;nbsp;order by dbj.id_tipmatr&lt;BR&gt;end &lt;BR&gt;GO&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;si functia care e folosita in procedura:&lt;/P&gt;
&lt;P&gt;CREATE FUNCTION GetGrupareByIDTipMatricola (@id_tipmatr tinyint,@id_matr uniqueidentifier)&amp;nbsp; &lt;BR&gt;RETURNS varchar(100) AS&amp;nbsp; &lt;BR&gt;BEGIN &lt;BR&gt;declare @aux varchar(100)&lt;/P&gt;
&lt;P&gt;if @id_tipmatr = 1 begin set @Aux = (select label from gotax.dbo.tip_matricole where id = 1) end&lt;/P&gt;
&lt;P&gt;if @id_tipmatr = 2 begin set @Aux =(select label from gotax.dbo.tip_matricole where id = 2) end&lt;/P&gt;
&lt;P&gt;if @id_tipmatr = 3 begin set @Aux = (select label from gotax.dbo.tip_matricole where id = 3) end&lt;/P&gt;
&lt;P&gt;if @id_tipmatr = 4 begin set @Aux =&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(select denumire from gotax.dbo.tip_alte_taxe where id = &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;coalesce(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(select id_tipalte from gotax.dbo.matricole_alte_pf where id = @id_matr),&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(select id_tipalte from gotax.dbo.matricole_alte_pj where id = @id_matr)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;) end&lt;/P&gt;
&lt;P&gt;return @aux&lt;BR&gt;END&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;alex.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item></channel></rss>