<?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: trigger de INSERT,UPDATE - SQL Server 2000</title><link>http://sqlserver.ro/forums/thread/2150.aspx</link><pubDate>Tue, 26 Jun 2007 09:31:25 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:2150</guid><dc:creator>crestinul</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/2150.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=2150</wfw:commentRss><description>Daca ai sql2005 ai putea folosi service broker folosind mecanismul de queue si xml,vezi pe blogul lui Remus Rusanu</description></item><item><title>Re: trigger de INSERT,UPDATE - SQL Server 2000</title><link>http://sqlserver.ro/forums/thread/2149.aspx</link><pubDate>Tue, 26 Jun 2007 06:31:37 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:2149</guid><dc:creator>Alex</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/2149.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=2149</wfw:commentRss><description>&lt;P&gt;si la mine "replicarea" e cam zero.....inafara de putina teorie altceva nu mai stiu legat de asta......dar poate e momentul sa invat :)....o sa ma gandesc si la varianta asta......bine macar ca o varianta, chiar si asa "facuta pe genunchi", functioneaza si nu-mi sta in carca...:)&lt;/P&gt;
&lt;P&gt;multumesc.&lt;/P&gt;
&lt;P&gt;alex.&lt;/P&gt;</description></item><item><title>Re: trigger de INSERT,UPDATE - SQL Server 2000</title><link>http://sqlserver.ro/forums/thread/2148.aspx</link><pubDate>Mon, 25 Jun 2007 19:35:52 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:2148</guid><dc:creator>Diana</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/2148.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=2148</wfw:commentRss><description>&lt;p&gt;Ce incerci sa faci seamana cu o replicare "merge"...&lt;/p&gt;&lt;p&gt;* Din
pacate replicarea este unul din punctele mele cam slabe in momentul
asta &lt;img src="http://sqlserver.ro/emoticons/emotion-10.gif" alt="Embarrassed" /&gt;...deci nu pot sa merg mai in amanunt acum, dar cred ca merita
sa abordezi problema astfel.&lt;br&gt;
&lt;/p&gt;</description></item><item><title>Re: trigger de INSERT,UPDATE - SQL Server 2000</title><link>http://sqlserver.ro/forums/thread/2147.aspx</link><pubDate>Mon, 25 Jun 2007 18:38:34 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:2147</guid><dc:creator>Alex</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/2147.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=2147</wfw:commentRss><description>&lt;p&gt;ce mai vorbesc singur pe aici :)))))))))))).....dar tot e bine ca se rezolva lucrurile :)&lt;/p&gt;&lt;p&gt;alex.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Edit...am gasit varianta cea mai simpla.... ca de obicei varianta cea mai buna si simpla o "vad" ultima :)&lt;/p&gt;&lt;p&gt;CREATE TRIGGER [trg_Equival_INSERT_UPDATE] ON [dbo].[EQUIVAL]&lt;br&gt;FOR INSERT,UPDATE&lt;br&gt;AS&lt;br&gt;&lt;br&gt;if ((select trigger_nestlevel(object_id(N'[dbo].[trg_Equival_INSERT_UPDATE]')))=1)&lt;br&gt;BEGIN&lt;br&gt;declare @CURIDREF as int ,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @RATEDATE as datetime ,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @CURID as int&lt;br&gt;&lt;br&gt;select @CURIDREF = curidref, @RATEDATE = ratedate, @CURID = curid from inserted&lt;br&gt;&lt;br&gt;If Not Exists(SELECT * FROM A..EQUIVAL WHERE curidref=@CURIDREF AND&lt;br&gt;ratedate = @RATEDATE AND curid = @CURID)&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; insert into A..EQUIVAL (curidref,ratedate,curid,purchaserate,fixingrate,salesrate)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; select curidref,ratedate,curid,purchaserate,fixingrate,salesrate from inserted&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br&gt;else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; update a&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; set a.purchaserate = i.purchaserate, a.fixingrate = i.fixingrate, a.salesrate = i.salesrate&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; from A..EQUIVAL a, inserted i&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; where a.curidref = @curidref and a.ratedate = @ratedate and a.curid = @curid&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br&gt;END&lt;br&gt;GO&amp;nbsp; &lt;br&gt;&lt;/p&gt;</description></item><item><title>Re: trigger de INSERT,UPDATE - SQL Server 2000</title><link>http://sqlserver.ro/forums/thread/2146.aspx</link><pubDate>Mon, 25 Jun 2007 18:27:24 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:2146</guid><dc:creator>Alex</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/2146.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=2146</wfw:commentRss><description>&lt;p&gt;am inteles care e problema dar nu si cum se rezolva....&lt;/p&gt;&lt;p&gt;&amp;nbsp;am impartit triggerul in 2....unul pt INSERT altul pt UPDATE&lt;/p&gt;&lt;p&gt;acum insertul merge struna dar la update inca nu stiu cum sa-l opresc sa nu intre in bucla infinita&lt;/p&gt;&lt;p&gt;INSERT-ul arata asa:&lt;/p&gt;&lt;p&gt;alter TRIGGER [trg_Equival_INSERT] ON [dbo].[EQUIVAL]&lt;br&gt;FOR INSERT&lt;br&gt;AS&lt;br&gt;&lt;br&gt;if ((select trigger_nestlevel(object_id(N'[dbo].[trg_Equival_INSERT]')))=1)&lt;br&gt;&lt;br&gt;declare @CURIDREF as int ,&lt;br&gt;&amp;nbsp;@RATEDATE as datetime ,&lt;br&gt;&amp;nbsp;@CURID as int&lt;br&gt;&lt;br&gt;select @CURIDREF = curidref, @RATEDATE = ratedate, @CURID = curid from inserted&lt;br&gt;&lt;br&gt;If Not Exists(SELECT * FROM A..EQUIVAL WHERE curidref=@CURIDREF AND&lt;br&gt;ratedate = @RATEDATE AND curid = @CURID)&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; insert into A..EQUIVAL (curidref,ratedate,curid,purchaserate,fixingrate,salesrate)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; select curidref,ratedate,curid,purchaserate,fixingrate,salesrate from inserted&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br&gt;GO&lt;/p&gt;&lt;p&gt;si merge f bine ca se oprreste la conditia if not exists&lt;/p&gt;&lt;p&gt;UPDATE-ul arata asa:&lt;/p&gt;&lt;p&gt;alter TRIGGER [trg_Equival_UPDATE] ON [dbo].[EQUIVAL]&lt;br&gt;FOR UPDATE&lt;br&gt;AS&lt;br&gt;&lt;br&gt;if ((select trigger_nestlevel(object_id(N'[dbo].[trg_Equival_UPDATE]')))=1)&lt;br&gt;&lt;br&gt;&lt;br&gt;declare @CURIDREF as int ,&lt;br&gt;&amp;nbsp;@RATEDATE as datetime ,&lt;br&gt;&amp;nbsp;@CURID as int&lt;br&gt;&lt;br&gt;select @CURIDREF = curidref, @RATEDATE = ratedate, @CURID = curid from inserted&lt;br&gt;&lt;br&gt;If Exists(SELECT * FROM A..EQUIVAL WHERE curidref=@CURIDREF AND&lt;br&gt;ratedate = @RATEDATE AND curid = @CURID)&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; update a&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; set a.purchaserate = i.purchaserate, a.fixingrate = i.fixingrate, a.salesrate = i.salesrate&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; from A..EQUIVAL a, inserted i&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; where a.curidref = @curidref and a.ratedate = @ratedate and a.curid = @curid&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br&gt;&lt;br&gt;GO &lt;/p&gt;&lt;p&gt;dar nu stiu cum sa-l opresc....ca aici nu mai tine nici o smecherie :(&lt;/p&gt;&lt;p&gt;alex.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Edit: cred ca am reusit modoficand conditia la&amp;nbsp; UPDATE astfel:&lt;/p&gt;&lt;p&gt;If Exists(SELECT * FROM A..EQUIVAL WHERE curidref=@CURIDREF AND&lt;br&gt;ratedate = @RATEDATE AND curid = @CURID) AND ((select trigger_nestlevel(object_id(N'[dbo].[trg_Equival_UPDATE]')))=1)&lt;br&gt;&lt;/p&gt;&lt;p&gt;alex.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: trigger de INSERT,UPDATE - SQL Server 2000</title><link>http://sqlserver.ro/forums/thread/2145.aspx</link><pubDate>Mon, 25 Jun 2007 14:01:14 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:2145</guid><dc:creator>Alex</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/2145.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=2145</wfw:commentRss><description>&lt;p&gt;ba nu....nu are treaba....vad ca acum functioneaza cum trebuie in ambele variante...era de la un alt trigger :)&lt;/p&gt;
&lt;p&gt;dar mai am o problema....primesc eroarea&lt;/p&gt;
&lt;p&gt;"Server: Msg 925, Level 19, State 1, Procedure trg_Equival_INSERT_UPDATE, Line 15&lt;br&gt;Maximum number of databases used for each query has been exceeded. The maximum allowed is 8.&lt;/p&gt;
&lt;p&gt;Connection Broken"&lt;/p&gt;
&lt;p&gt;daca am 2 database.....A si B...si pun trigger pe A (Insert, Update) sa faca pe B...si pun si trigger pe B (Insert,Update) sa faca pe A....deci sa sincronizze cele 2 tabele....merge ok....daca mai introduc si un al 3-lea database C nu mai e ok ca-mi da eroarea de mai sus&lt;/p&gt;
&lt;p&gt;deci daca am bucla de 3 si nu de 2 databaseuri nu mai merge....si nu stiu de ce? :(&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;alex.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;o problema asemanatoare am gasit si la&lt;/p&gt;&lt;p&gt;http://www.developmentnow.com/g/113_2004_9_0_0_432446/errorurgent--Maximum-number-of-databases-used-for-each-query-has-been-exceeded.htm&lt;/p&gt;&lt;p&gt;dar nu si solutia...sau cel putin eu nu o inteleg&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: trigger de INSERT,UPDATE - SQL Server 2000</title><link>http://sqlserver.ro/forums/thread/2144.aspx</link><pubDate>Mon, 25 Jun 2007 13:25:45 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:2144</guid><dc:creator>Alex</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/2144.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=2144</wfw:commentRss><description>&lt;P&gt;se pare ca trebuia asa la trigger_nestlevel:&lt;/P&gt;
&lt;P&gt;if ((select trigger_nestlevel(object_id(N'[dbo].[trg_Equival_INSERT_UPDATE]')))=1)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;oricum sunt sigur ca poate fi imbunatatit sau ca nu iau in calcul tot...simt ca-i lipseste ceva...:)&lt;/P&gt;
&lt;P&gt;alex.&lt;/P&gt;</description></item><item><title>Re: trigger de INSERT,UPDATE - SQL Server 2000</title><link>http://sqlserver.ro/forums/thread/2143.aspx</link><pubDate>Mon, 25 Jun 2007 12:20:38 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:2143</guid><dc:creator>Alex</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/2143.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=2143</wfw:commentRss><description>&lt;P&gt;ceva este gresit....dar nu-mi dau seama ce......ce ar mai trebui facut?...ceva sugestii?....daca fac un insert pe tabela respectiva imi da o eroare&lt;/P&gt;
&lt;P&gt;"Server: Msg 925, Level 19, State 1, Procedure trg_Equival_INSERT_UPDATE, Line 14&lt;BR&gt;Maximum number of databases used for each query has been exceeded. The maximum allowed is 8.&lt;/P&gt;
&lt;P&gt;Connection Broken"&lt;/P&gt;
&lt;P&gt;asta e triggerul...asa cum m-am priceput eu :)&lt;/P&gt;
&lt;P&gt;CREATE TRIGGER [trg_Equival_INSERT_UPDATE] ON [dbo].[EQUIVAL] &lt;BR&gt;FOR INSERT,UPDATE&lt;BR&gt;AS&lt;/P&gt;
&lt;P&gt;if trigger_nestlevel(object_id(N'[dbo].[trg_Equival_INSERT_UPDATE]'))=1&lt;BR&gt;--if @@rowcount = 0 return&lt;BR&gt;declare @CURIDREF as int ,&lt;BR&gt;&amp;nbsp;@RATEDATE as datetime ,&lt;BR&gt;&amp;nbsp;@CURID as int&lt;/P&gt;
&lt;P&gt;select @CURIDREF = curidref, @RATEDATE = ratedate, @CURID = curid from inserted&lt;/P&gt;
&lt;P&gt;If Not Exists(SELECT * FROM DBName..EQUIVAL WHERE &lt;A href="mailto:curidref=@CURIDREF"&gt;curidref=@CURIDREF&lt;/A&gt; AND &lt;BR&gt;ratedate = @RATEDATE AND curid = @CURID)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;insert into DBName..EQUIVAL (curidref,ratedate,curid,purchaserate,fixingrate,salesrate)&lt;BR&gt;&amp;nbsp;&amp;nbsp;select curidref,ratedate,curid,purchaserate,fixingrate,salesrate from inserted&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;-- se mai adauga inca un database&lt;/P&gt;
&lt;P&gt;&amp;nbsp;end&lt;BR&gt;else&lt;BR&gt;&amp;nbsp;begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;update a&lt;BR&gt;&amp;nbsp;&amp;nbsp;set a.purchaserate = i.purchaserate, a.fixingrate = i.fixingrate, a.salesrate = i.salesrate&lt;BR&gt;&amp;nbsp;&amp;nbsp;from DBName..EQUIVAL a, inserted i&lt;BR&gt;&amp;nbsp;&amp;nbsp;where a.curidref = @curidref and a.ratedate = @ratedate and a.curid = @curid&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;-- se mai adauga inca un database&lt;/P&gt;
&lt;P&gt;&amp;nbsp;end&lt;/P&gt;
&lt;P&gt;GO &lt;/P&gt;
&lt;P&gt;alex.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>trigger de INSERT,UPDATE - SQL Server 2000</title><link>http://sqlserver.ro/forums/thread/2142.aspx</link><pubDate>Mon, 25 Jun 2007 11:43:10 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:2142</guid><dc:creator>Alex</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/2142.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=2142</wfw:commentRss><description>&lt;P&gt;salut, am 3 baze de date pe acelasi server.....fiecare baza de date contine tabela aceasta:&lt;/P&gt;
&lt;P&gt;CREATE TABLE [dbo].[EQUIVAL] (&lt;BR&gt;&amp;nbsp;[CURIDREF] [int] NOT NULL ,&lt;BR&gt;&amp;nbsp;[RATEDATE] [datetime] NOT NULL ,&lt;BR&gt;&amp;nbsp;[CURID] [int] NOT NULL ,&lt;BR&gt;&amp;nbsp;[PURCHASERATE] [float] NULL ,&lt;BR&gt;&amp;nbsp;[FIXINGRATE] [float] NULL ,&lt;BR&gt;&amp;nbsp;[SALESRATE] [float] NULL &lt;BR&gt;) ON [PRIMARY]&lt;BR&gt;GO&lt;/P&gt;
&lt;P&gt;ALTER TABLE [dbo].[EQUIVAL] WITH NOCHECK ADD &lt;BR&gt;&amp;nbsp;CONSTRAINT [PK_EQUIVAL] PRIMARY KEY&amp;nbsp; CLUSTERED &lt;BR&gt;&amp;nbsp;(&lt;BR&gt;&amp;nbsp;&amp;nbsp;[CURIDREF],&lt;BR&gt;&amp;nbsp;&amp;nbsp;[RATEDATE],&lt;BR&gt;&amp;nbsp;&amp;nbsp;[CURID]&lt;BR&gt;&amp;nbsp;) WITH&amp;nbsp; FILLFACTOR = 90&amp;nbsp; ON [PRIMARY] &lt;BR&gt;GO&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;vreau sa fac un trigger de INSERT,UPDATE care sa-l pun pe fiecare baza de date(pe tabela de mai sus).....atunci cand modific in tabela de mai sus pe oricare din cele 3 baze de date sa se modifice si pe celelalte 2.......sa verifice dupa PK si daca nu exista sa faca INSERT daca exista sa faca UPDATE..............ca sa nu intre in bucla infinita(triggerul fiind pe toate cele 3 baze de date) am inteles ca pot folosi: &lt;/P&gt;
&lt;P&gt;&amp;nbsp;"if trigger_nestlevel(object_id(N'[dbo].[Nume_Trigger]'))=1" la inceputul triggerului dupa AS ca sa opreasca bucla infinita....adica triggerul fire pe batabase A face modificrile pe celelalte 2 server sa zicem B si C si se opreste cand ajunge inapoi la A&lt;/P&gt;
&lt;P&gt;ma puteti ajuta va rog cu acest trigger......cum ar trebui sa arate....&lt;/P&gt;
&lt;P&gt;multumesc mult.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;alex.&lt;/P&gt;</description></item></channel></rss>