<?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>Intrebari generale</title><link>http://sqlserver.ro/forums/16/ShowForum.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Re: Alterarea datelor din tabelele "Inserted" si "Deleted"</title><link>http://sqlserver.ro/forums/thread/5762.aspx</link><pubDate>Tue, 07 Oct 2008 05:54:40 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5762</guid><dc:creator>ignatandrei</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5762.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=16&amp;PostID=5762</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;rsocol:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;ignatandrei:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;[...] pentru User2, care nu mai are inregistrarea in tabela, bineinteles ca nu se va lansa nici un fel de trigger(nefiind nici o inregistrare de modificat ..)&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;O mică precizare: trigger-ul va fi lansat, dar inserted şi deleted nu vor conţine nicio înregistrare, iar @@ROWCOUNT va fi 0 (la începutul trigger-ului).&lt;br&gt;&lt;br&gt;Răzvan&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;scuze, ai dreptate...&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: Alterarea datelor din tabelele "Inserted" si "Deleted"</title><link>http://sqlserver.ro/forums/thread/5760.aspx</link><pubDate>Tue, 07 Oct 2008 03:49:00 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5760</guid><dc:creator>rsocol</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5760.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=16&amp;PostID=5760</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;ignatandrei:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;[...] pentru User2, care nu mai are inregistrarea in tabela, bineinteles ca nu se va lansa nici un fel de trigger(nefiind nici o inregistrare de modificat ..)&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;O mică precizare: trigger-ul va fi lansat, dar inserted şi deleted nu vor conţine nicio înregistrare, iar @@ROWCOUNT va fi 0 (la începutul trigger-ului).&lt;br&gt;&lt;br&gt;Răzvan&lt;br&gt;</description></item><item><title>Re: Alterarea datelor din tabelele "Inserted" si "Deleted"</title><link>http://sqlserver.ro/forums/thread/5758.aspx</link><pubDate>Mon, 06 Oct 2008 18:25:46 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5758</guid><dc:creator>mircea</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5758.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=16&amp;PostID=5758</wfw:commentRss><description>&lt;P&gt;Va multumesc tutoror pentru comenturile postate , acum lucrurile imi sunt mult mai clare !&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Andrei thx mult pentru scenariul oferit , deocamdata o las mai multe cu triggerele datoria unor shimbari&amp;nbsp;in proiect , oricum aceste comenturi sunt foarte utile si le voi folosi cand voi trece sa implemetz trigerele.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Thx again &lt;/P&gt;</description></item><item><title>Re: Alterarea datelor din tabelele "Inserted" si "Deleted"</title><link>http://sqlserver.ro/forums/thread/5731.aspx</link><pubDate>Sun, 05 Oct 2008 20:08:18 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5731</guid><dc:creator>ignatandrei</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5731.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=16&amp;PostID=5731</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;mircea:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Intrebarea mea este , daca intr-un mediu de retea , web&amp;nbsp;userii acceseaza concomitent acest tabel si realizeaza diferite operatii tabele acestea "Inserted si Deleted" imi mai pot oferii operatia&amp;nbsp;corecta corespunzatoare unui user ? Exista posibilitatea ca 2 useri sa&amp;nbsp;modifice concomitent aceste tabele ? &lt;/p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Exista totdeauna posibilitatea ca doi user-i sa modifice aceste tabele. Cit priveste "concomitent", parerea mea e ca nu "concomitent". &lt;br&gt;Cit priveste problema ta cu "inserted" si "deleted",acestea sunt pentru operatia curenta - nu se amesteca una cu cealalta.&lt;br&gt;&lt;br&gt;Acum , daca scenariul tau este urmatorul&lt;br&gt;USer 1 si 2 acceseaza inregistrarea x&lt;br&gt;User 1 sterge x&lt;br&gt;User 2 modifica din x in y&lt;br&gt;&lt;br&gt;se poate intimpla ca user 2 sa incerce sa modifice ce nu exista . Desi pentru user 1 inserted si deleted sunt OK, pentru User2, care nu mai are inregistrarea in tabela, bineinteles ca nu se va lansa nici un fel de trigger(nefiind nici o inregistrare de modificat ..)&lt;br&gt;&lt;br&gt;Daca ai si alte cazuri in minte, te rog sa le scrii&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: Alterarea datelor din tabelele "Inserted" si "Deleted"</title><link>http://sqlserver.ro/forums/thread/5730.aspx</link><pubDate>Sun, 05 Oct 2008 19:59:23 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5730</guid><dc:creator>MrSmersh</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5730.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=16&amp;PostID=5730</wfw:commentRss><description>Tu te referi la tabele logice, conceptuale (vorba BOL &lt;img src="http://sqlserver.ro/emoticons/emotion-1.gif" alt="Smile" /&gt;)insert&amp;nbsp;deleted care le vezi in trigger? &lt;BR&gt;Alea nu le vezi decit in corpul trigger si contin numai datele referitoare la operatia efectuata care a activat triggeru.&lt;BR&gt;Eu zic ca nu ai problema de concurenta pe aici, parerea mea &lt;img src="http://sqlserver.ro/emoticons/emotion-1.gif" alt="Smile" /&gt;</description></item><item><title>Re: Alterarea datelor din tabelele "Inserted" si "Deleted"</title><link>http://sqlserver.ro/forums/thread/5729.aspx</link><pubDate>Sun, 05 Oct 2008 19:58:44 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5729</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5729.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=16&amp;PostID=5729</wfw:commentRss><description>Intrebarea mea este , daca intr-un mediu de retea , web&amp;nbsp;userii
acceseaza concomitent acest tabel si realizeaza diferite operatii
tabele acestea "Inserted si Deleted" &lt;font color="#ff0000"&gt;imi mai pot oferii
operatia&amp;nbsp;corecta corespunzatoare &lt;strike&gt;unui &lt;b&gt;user&lt;/b&gt;&lt;/strike&gt; &lt;/font&gt;unei comenzi &lt;font color="#006400"&gt;[SQL INSERT/UPDATE/DELETE]&lt;/font&gt; ? &amp;gt; &lt;font color="#ff0000"&gt;DA !&lt;/font&gt; Pseudotabelele INSERTED si DELETED memoreaza doar înregistrările (liniile) cu valorile noi (INSERTED -&amp;gt; adaugare şi modificare) şi vechi (DELETED -&amp;gt; modificare şi ştergere) afectate de comanda SQL I/U/D curentă.&lt;br&gt;&lt;br&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms191300.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms191300.aspx&lt;/a&gt;&lt;br&gt;&lt;p&gt;&lt;i&gt;The &lt;strong&gt;deleted&lt;/strong&gt; table stores copies of the affected
rows during DELETE and UPDATE statements. During the execution of a
DELETE or UPDATE statement, rows are deleted from the trigger table and
transferred to the &lt;strong&gt;deleted&lt;/strong&gt; table. The &lt;strong&gt;deleted&lt;/strong&gt; table and the trigger table ordinarily have no rows in common.&lt;/i&gt;&lt;/p&gt;
    &lt;p&gt;&lt;i&gt;The &lt;strong&gt;inserted&lt;/strong&gt;
table stores copies of the affected rows during INSERT and UPDATE
statements. During an insert or update transaction, new rows are added
to both the &lt;strong&gt;inserted&lt;/strong&gt; table and the trigger table. The rows in the &lt;strong&gt;inserted&lt;/strong&gt; table are copies of the new rows in the trigger table.&lt;/i&gt;&lt;/p&gt;&lt;br&gt;</description></item><item><title>Re: Alterarea datelor din tabelele "Inserted" si "Deleted"</title><link>http://sqlserver.ro/forums/thread/5727.aspx</link><pubDate>Sun, 05 Oct 2008 19:54:29 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5727</guid><dc:creator>rremus</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5727.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=16&amp;PostID=5727</wfw:commentRss><description>Pseudotabelele DELETED si INSERTED contin numai modificarile operatiunii care a declansat trigger-ul. Doi useri pot modifica simultan aceasi tabele, dar fiecare va declansa un trigger care ca vedea in pseudotabele doar ce a inserat/deletat dinsul. Niciodata un trigger nu poate vedea in aceste pseudotabele inregistrari sterse sau inserate de o alta operatiune.&lt;br&gt;Cid despre tranzactii, orice operatiune in baza de date se face in cadrul unei tranzactii. Daca nu folosesti explicit tranzactii, o tranzactie implicita este creata pe durata operatiunii (INSERT, DELETE, UPDATE). &lt;br&gt;</description></item><item><title>Alterarea datelor din tabelele "Inserted" si "Deleted"</title><link>http://sqlserver.ro/forums/thread/5726.aspx</link><pubDate>Sun, 05 Oct 2008 19:06:46 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5726</guid><dc:creator>mircea</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5726.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=16&amp;PostID=5726</wfw:commentRss><description>&lt;P&gt;Salut , &lt;/P&gt;
&lt;P&gt;&amp;nbsp;Am creat un after trigger care inregistreaza anumite activitati asupra unui tabel.&lt;/P&gt;
&lt;P&gt;Prin acestea monitorizez si operatia curenta realizata asupra acestuia (DELETE , UPDATE ,INSERT) .&lt;/P&gt;
&lt;P&gt;Triggerul creat se lanseaza mereu dupa un insert , delete sau update. Folosind tabelele "Inserted si Deleted" am reusit sa observ care este operatia curenta realizata.&lt;/P&gt;
&lt;P&gt;Intrebarea mea este , daca intr-un mediu de retea , web&amp;nbsp;userii acceseaza concomitent acest tabel si realizeaza diferite operatii tabele acestea "Inserted si Deleted" imi mai pot oferii operatia&amp;nbsp;corecta corespunzatoare unui user ? Exista posibilitatea ca 2 useri sa&amp;nbsp;modifice concomitent aceste tabele ? &lt;/P&gt;
&lt;P&gt;&amp;nbsp;Operatia curenta am obtinut-o pe baza unor interogari de genul : if exists(select * from DELETED) ,&amp;nbsp;asadar daca un alt user in acel moment sterge o inregistrare si primul user a realizat un insert imi poate altera raspunsul pentru operatia realizata de primul user ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Tranzaciile pot rezolva aceasta problema&amp;nbsp; ? (daca exista )&lt;/P&gt;
&lt;P&gt;Multumesc !&lt;/P&gt;</description></item></channel></rss>