<?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</title><link>http://sqlserver.ro/forums/14/ShowForum.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Re: ?</title><link>http://sqlserver.ro/forums/thread/4984.aspx</link><pubDate>Mon, 19 May 2008 14:34:39 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4984</guid><dc:creator>tebbaerty</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4984.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=4984</wfw:commentRss><description>am citit sql bible. multumesc pe sfaturi.inca invat :D&amp;nbsp;

 	 







#top_move_select400965674 {
	VISIBILITY: hidden
}
#bottom_move_select400965674 {
	VISIBILITY: hidden
}

            var jsWSSID = "oQHIXWRIxEm";

            YAHOO.Shortcuts = {};
        





&lt;div class="yui-t1" id="doc3"&gt;&lt;div id="bd"&gt;&lt;table cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td id="content"&gt;&lt;div class="roundcorner"&gt;&lt;div class="undoreset clearfix" id="message400965674"&gt;&lt;div class="plainMail"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>Re: ?</title><link>http://sqlserver.ro/forums/thread/4975.aspx</link><pubDate>Fri, 16 May 2008 12:13:25 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4975</guid><dc:creator>Gherry</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4975.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=4975</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;tebbaerty:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;poi am citit si am facut proceduri si functii si joinuri si am folosit union cu join si alte chestii, chei restrictii si toate cele.&lt;/p&gt;&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;eu nu zic sa le incerci ci sa le stapanesti &lt;img src="http://sqlserver.ro/emoticons/emotion-5.gif" alt="Wink" /&gt; (table value functions ai incercat deja?)&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;tebbaerty:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/p&gt;
&lt;p&gt;dar tu ai zis cumva ca poti face un fk la un camp care nu e pk ? eu nu am auzit de asa ceva ..... poate ma insel dar fk nu se fac doar la pk in tabela parinte si un pk nu presupune inexistenta unor valori nule... ?&lt;/p&gt;&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;nu am zis ca faci FK ci join: se pot face join-uri si pe campuri care nu sunt chiei si am mentionat asta pt ca am avut de foarte multe ori nevoie de asa ceva la diferite query-uri &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;tebbaerty:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt; &lt;/p&gt;
&lt;p&gt;triggerele sunt un concept aparte si nou pentru mine si am dificultati in a le intelege .&lt;/p&gt;&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;in opinia mea, cel mai simplu ar fi sa faci o analogie cu evenimentele, dar principalul motiv pt care este greu sa le intelegi cred ca il reprezinta faptul ca nu stapanesti celelalte aspecte cum ar fi relatiile si setarile lor (pt ca abele reactioneaza la aceleasi situatii).&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;tebbaerty:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/p&gt;
&lt;p&gt;am vazut ca exista si cursor dar deocamdata am zis sa nu ma ating de ele :D... dar curand le iau la purificat :P... caci si alea mi se par super dragutze :D&lt;/p&gt;am avut nevoie de un cursor sa fac mai multe stergeri. ceva gen sa sterg 10 rezultate (la alegerea mea)&amp;nbsp;de o data.prima kestie care mia trecut prin cap a fost un while(ceea nu era posibil) dar am citit si am vazut ca trebuie un cursor si am zis sa o las mai moale si sa inteleg trigger deocamdata &lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;da, exista, dar sa sti ca merge si while in proceduri stocate, ai reusit sa afli care sunt diferentele intre proceduri si functii si ce se poate face in procedura dar nu se poate in functii si invers?&lt;br&gt;&lt;br&gt;rezumat: &lt;br&gt;1. triggerele sunt ca si evenimantele (si daca ai facut vre-o data overide la un eveniment ai vazut ca poti pune codul inainte sau dupa OnBase(nume_eveniment) si are efect diferit&lt;br&gt;2. cursoarele sunt buncle dar in foarte multe cazuri exista alternative&lt;br&gt;3. Sql Server iti pune la dispozitie suficiente unelete pt cam tot ce vrei sa faci si in unele cazuri o problema se poate rezolva pe mai multe cai dar este foarte importanta sa gasesti varianta optima pt ca fiecare scadere de performanta este amplificata de numarul de inregistrari afectate. de asta zic ca nu este suficient sa treci prin ele si sa sti "despre" ele ci tb sa iei pe fiecare la rans si o descosi. &lt;br&gt;4. ai NEAPARATA nevoie de o carte pe langa BOL. Daca vrei, poti pleca de la una electronica de genul "Tech yoursels SQL in ...." dar eu zic ca e bine sa ai si una clasica asa ca mergi intr-o librarie si ia-le la rand si alege una care sa fie scrisa intr-un stil pe placul tau. si te sfatuiesc sa citesti si ceva despre proiectare de baze de date.&lt;br&gt;</description></item><item><title>Re: ?</title><link>http://sqlserver.ro/forums/thread/4964.aspx</link><pubDate>Thu, 15 May 2008 21:13:31 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4964</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4964.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=4964</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;tebbaerty:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;atunci o alternativa nu ar fi sa folosim before delete ? &lt;br&gt;&lt;/p&gt;&lt;p&gt;...&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;O întrebare: înainte de a scrie asta, te-ai uitat în sintaxa de la CREATE/ALTER TRIGGER din BOL ?&lt;br&gt;&lt;u&gt;&lt;b&gt;
										De inceput poţi incepe cu BOL (Books Online): &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=BE6A2C5D-00DF-4220-B133-29C1E0B6585F&amp;amp;displaylang=en"&gt;download&lt;/a&gt;&lt;br&gt;&lt;/b&gt;&lt;/u&gt;&lt;br&gt;Pentru că, răspunsul la întrebarea ta se află în BOL !&lt;br&gt;</description></item><item><title>Re: ?</title><link>http://sqlserver.ro/forums/thread/4961.aspx</link><pubDate>Thu, 15 May 2008 19:32:19 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4961</guid><dc:creator>tebbaerty</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4961.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=4961</wfw:commentRss><description>&lt;P&gt;poi am citit si am facut proceduri si functii si joinuri si am folosit union cu join si alte chestii, chei restrictii si toate cele.&lt;/P&gt;
&lt;P&gt;dar tu ai zis cumva ca poti face un fk la un camp care nu e pk ? eu nu am auzit de asa ceva ..... poate ma insel dar fk nu se fac doar la pk in tabela parinte si un pk nu presupune inexistenta unor valori nule... ? &lt;/P&gt;
&lt;P&gt;triggerele sunt un concept aparte si nou pentru mine si am dificultati in a le intelege .&lt;/P&gt;
&lt;P&gt;am vazut ca exista si cursor dar deocamdata am zis sa nu ma ating de ele :D... dar curand le iau la purificat :P... caci si alea mi se par super dragutze :D&lt;/P&gt;
&lt;P&gt;am avut nevoie de un cursor sa fac mai multe stergeri. ceva gen sa sterg 10 rezultate (la alegerea mea)&amp;nbsp;de o data.prima kestie care mia trecut prin cap a fost un while(ceea nu era posibil) dar am citit si am vazut ca trebuie un cursor si am zis sa o las mai moale si sa inteleg trigger deocamdata &lt;/P&gt;</description></item><item><title>Re: ?</title><link>http://sqlserver.ro/forums/thread/4959.aspx</link><pubDate>Thu, 15 May 2008 19:26:01 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4959</guid><dc:creator>tebbaerty</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4959.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=4959</wfw:commentRss><description>&lt;P&gt;cand faci un trigger cu instead of sterge in cazul nostru toate telefoanele legate de localitatea respectiva dar cand il faci cu for sterge doar 1 inregistrare din tabela telefoane.&lt;/P&gt;
&lt;P&gt;atunci o alternativa nu ar fi sa folosim before delete ? sau si acela ca si for delete sterge doar o inregistrare ....&lt;/P&gt;
&lt;P&gt;nedumerirea este nr de inregistrari sterse de triggerurile facute cu for si cu instead of&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;faza cu overload am inteles o ... mi-am imaginat ca este o supraincarcare la fel ca in c++. :D&lt;/P&gt;</description></item><item><title>Re: ?</title><link>http://sqlserver.ro/forums/thread/4957.aspx</link><pubDate>Thu, 15 May 2008 19:16:50 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4957</guid><dc:creator>Gherry</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4957.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=4957</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;tebbaerty:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;font color="#ff0000"&gt;&lt;font color="#000000"&gt;&lt;br&gt;&lt;br&gt;(aceasta e a 1 saptamana in care lucrez cu sql asa ca nu va mirati daca par mai slab)&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;in cazul asta nu cred ai ales cel mai indicat punct de plecare. Eu as recomanda sa lasi astea pe mai incolo si sa iti concentrezi atentia pe chei, indexi, restrictii, functii, proceduri stocate, vederi, tipurile de join, join-uri pe campuri care nu sunt chei (si ce se intampla daca ai valori nule). Mie toate astea mi-au fost mult mai utile (chiar necesare) decat triggere-le. Triggerele mi se par intr-adevar o chestie foarte faina insa eu cred ca sunt multe altele care ar trebui stapanite inainte sa te apuci de ele (plus ca o sa iti usureze enorm de mult viata cand ajungi la ele). &lt;br&gt;</description></item><item><title>Re: ?</title><link>http://sqlserver.ro/forums/thread/4954.aspx</link><pubDate>Thu, 15 May 2008 13:22:59 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4954</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4954.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=4954</wfw:commentRss><description>De inceput poţi incepe cu BOL (Books Online): &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=BE6A2C5D-00DF-4220-B133-29C1E0B6585F&amp;amp;displaylang=en"&gt;download&lt;/a&gt;&lt;br&gt;&lt;br&gt;BOL spune:&lt;br&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;INSTEAD OF&lt;/font&gt;&lt;/p&gt;
&lt;p class="indent"&gt;&lt;font color="#ff0000"&gt;Specifies that the &lt;font color="#006400"&gt;&lt;b&gt;trigger is executed &lt;i&gt;instead of&lt;/i&gt; &lt;/b&gt;&lt;/font&gt;the 
triggering SQL statement, thus &lt;font color="#006400"&gt;&lt;b&gt;overriding the actions of the triggering 
statements&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="indent"&gt;Exemplul cu INSTEAD OF merge deoarece stergerea se face in ordinea corecta: mai intai telefoanele (DELETE FROM Telefon ...) si apoi localitatea (DELETE FROM Localitate ...).&lt;br&gt;&lt;/p&gt;&lt;br&gt;</description></item><item><title>Re: ?</title><link>http://sqlserver.ro/forums/thread/4953.aspx</link><pubDate>Thu, 15 May 2008 12:40:41 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4953</guid><dc:creator>tebbaerty</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4953.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=4953</wfw:commentRss><description>Aveti cumva o documentatie despre triggere ceva mai bine explicat ?.... nu am reusit sa gasesc ceva foarte bun si exercitiile nu prea ies.&lt;br&gt;&lt;font color="#ff0000"&gt;CREATE TRIGGER alabalaportocala &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ON Localitate &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FOR DELETE &lt;br&gt;AS &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DELETE Telefon&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM Telefon INNER JOIN DELETED ON Telefon.CodLocalitate = DELETED.CodLocalitate&lt;br&gt;&lt;br&gt;&lt;font color="#000000"&gt;am inteles de ce triggerul acesta nu merge .dar de ce acela cu instead of merge ? eu cred ca diferenta o face acel instead of&amp;nbsp; am dreptate?&lt;br&gt;&lt;br&gt;atunci cand folosesti instead of parcurge toata tabela si sterge toate egalitatile gen &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000"&gt;Telefon.CodLocalitate = DELETED.CodLocalitate &lt;font color="#000000"&gt;iar cand dai cu FOR sterge doar prima egalitate de gen &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000"&gt;Telefon.CodLocalitate = DELETED.CodLocalitate? &lt;font color="#000000"&gt;dupa care se opreste ?&lt;br&gt;&lt;br&gt;(aceasta e a 1 saptamana in care lucrez cu sql asa ca nu va mirati daca par mai slab)&lt;br&gt;&lt;/font&gt;&lt;/font&gt;</description></item><item><title>Re: ?</title><link>http://sqlserver.ro/forums/thread/4950.aspx</link><pubDate>Thu, 15 May 2008 12:13:39 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4950</guid><dc:creator>tebbaerty</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4950.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=4950</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;Gherry:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;cu multa placere, mi-a prins bine exercitiul &lt;img src="http://sqlserver.ro/emoticons/emotion-5.gif" alt="Wink" /&gt; &lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;:D poi si la mai mare :D.... cu mn o sa tot faci exercitii :D .... cateva luni de zile :P .... sper sa fie 1 luna 2 :D&lt;br&gt;</description></item><item><title>Re: ?</title><link>http://sqlserver.ro/forums/thread/4943.aspx</link><pubDate>Thu, 15 May 2008 10:35:01 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4943</guid><dc:creator>tebbaerty</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4943.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=4943</wfw:commentRss><description>Asa deci.&lt;br&gt;S-au mai acumulat niste cunostiinte, altele s-au fixat.&lt;br&gt;In orice caz am mai inteles cate ceva despre triggere desi nu pot sa zic ca stiu tot ce ai zis.&lt;br&gt;In mare parte am inteles tot.&lt;br&gt;Acum urmeaza sa mai fac niste exercitii si sa vad de ce probleme ma lovesc.&lt;br&gt;Nu promit ca voi reusi sa fac un trigger de la 0 pentru niste chestii complicate dar imi voi da silinta.&lt;br&gt;&lt;br&gt;Thanks.... :)&lt;br&gt;</description></item><item><title>Re: ?</title><link>http://sqlserver.ro/forums/thread/4940.aspx</link><pubDate>Thu, 15 May 2008 09:02:57 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4940</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4940.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=4940</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;tebbaerty:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;...&lt;/span&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;br&gt;&lt;br&gt;iar tabela DELETED este o copie a tabelei localitate dupa cum vad eu lucrurile nu ?&lt;br&gt;am cautat de DELETED si INSERTED si am vazut tutoriale in care ziceau ca daca dau select * from deleted arata ceva dar la mine da eroare ca nu exista . Atunci am crezut ca nu se poate asa ceva in ms sql 2005 si ce am gasit nu era bun. dar vad ca si tu l-ai folosit si spre surprinderea mea merge :D&lt;br&gt;...&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Cele două pseudotabele INSERTED şi DELETED sunt disponibile doar în declanşatoare, au structura "identică" cu tabelele pentru care sunt create respectivele declanşatoare şi conţin:&lt;br&gt;- înregistrările care au fost şterse pt. declanşatoare DELETE,&lt;br&gt;- înregistrările care au fost adăugate pt. declanşatoare INSERT şi&lt;br&gt;- noile valori (INSERTED) şi vechile valori (DELETED) pt. declanşatoare UPDATE.</description></item><item><title>Re: ?</title><link>http://sqlserver.ro/forums/thread/4939.aspx</link><pubDate>Thu, 15 May 2008 08:59:52 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4939</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4939.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=4939</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;tebbaerty:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;si aici de ce ai pus &lt;br&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DELETE&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; Localitate&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; Localitate &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INNER&lt;/span&gt; &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;JOIN&lt;/span&gt; DELETED&lt;br&gt;adica de ce apare acel FROM localitate de 2 ori ... din cate stiu un join se facea astel&lt;br&gt;&lt;br&gt;select informatie1 , informatie2&lt;br&gt;from Tabela1 ta inner join Tabela2 tab on&amp;nbsp; ta.informatie1=tab.informatie1&lt;br&gt;&lt;br&gt;...&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Sintaxa T-SQL pentru comenda DELETE este:&lt;br&gt;&lt;p&gt;DELETE &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;b&gt; &lt;/b&gt;&lt;font color="#ff0000"&gt;&lt;u&gt;&lt;b&gt;FROM&lt;/b&gt;&lt;/u&gt;&lt;/font&gt; ] &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;i&gt;table_name&lt;/i&gt; WITH ( &amp;lt; 
table_hint_limited &amp;gt; [ ...&lt;i&gt;n &lt;/i&gt;] ) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | &lt;i&gt;view_name 
&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/i&gt; | &lt;i&gt;rowset_function_limited&lt;/i&gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;font color="#ff0000"&gt; &lt;u&gt;&lt;b&gt;FROM&lt;/b&gt;&lt;/u&gt;&lt;/font&gt; { &amp;lt; table_source &amp;gt; } [ &lt;b&gt;,&lt;/b&gt;...&lt;i&gt;n &lt;/i&gt;] ] ...&lt;br&gt; &lt;/p&gt;În concluzie, &lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;br&gt;DELETE&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; Localitate&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; Localitate &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INNER&lt;/span&gt; &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;JOIN&lt;/span&gt; DELETED&lt;br&gt;este echivalent cu a scrie&lt;br&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DELETE&lt;/span&gt; Localitate&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; Localitate &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INNER&lt;/span&gt; &lt;span style="color:Silver;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;JOIN&lt;/span&gt; DELETED&lt;br&gt;.&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;tebbaerty:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;...&lt;br&gt;si
aici ca si mai sus sa inteleg ca tu ai suprascris DELETE cu INSTEAD OF&amp;nbsp;
sa stearga si din tabela telefon atunci cand este apelat sa stearga din
tabela localitate nu ?&lt;br&gt;...&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Dacă ştergi o localitate (o valaore din cheia primară CodLocalitate aparţinând de tabela Localitate) care are telefoane (cheia extenă CodLocalitate din tabela Telefon) atunci acţionează &lt;font color="#ff0000"&gt;RESTRICŢIA DE INTEGRITATE REFERENŢIALĂ&lt;/font&gt; (RIR; definită folosind &lt;font color="#ff0000"&gt;CREATE TABLE &lt;u&gt;Telefon &lt;/u&gt;... CodLocalitate INT &lt;/font&gt;&lt;font color="#ff0000"&gt;REFERENCES &lt;u&gt;Localitate(CodLocalitate)&lt;/u&gt;&lt;/font&gt; ...) care face ca SQL Server să afişeze o eroare. De ce ? RIR impune faptul ca pentru fiecare valoare din cheia externă Telefon.CodLocalitate să existe o valoare în cheia primară Localitate.CodLocalitate. Asta înseamnă, că nu poţi avea în tabela Telefon, telefoane având CodLocalitate (cheie externă) = 2 dacă cheia primară Localitate.CodLocalitate nu conţine şi ea valoarea 2.&lt;br&gt;&lt;br&gt;În concluzie, ordinea de ştergere a datelor este următoarea:&lt;br&gt;[1] ştergi valorile din cheia externă (adică Telefoanele având Telefon.CodLocalitate = 2) şi apoi&lt;br&gt;[2] ştergi valorile din cheia primară (Localitate.CodLocalitate = 2).&lt;br&gt;&lt;br&gt;Declanşatoarele "clasice" (non INSTEAD OF: FOR / AFTER) din SQL Server sunt generate/executate după "execuţia" comenzii de ştergere/inserare/modificare (DELETE/INSERT/UPDATE). Mai precis, un declanşator de tipul &lt;br&gt;&lt;font color="#ff0000"&gt;CREATE TRIGGER alabalaportocala &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ON Localitate &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FOR DELETE &lt;br&gt;AS &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DELETE Telefon&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM Telefon INNER JOIN DELETED ON Telefon.CodLocalitate = DELETED.CodLocalitate&lt;/font&gt;&lt;br&gt;&lt;br&gt;este executat după ştergere unei localităţi (de exemplu) lucru care va conduce în cazul execuţiei unei comenzi &lt;br&gt;&lt;font color="#ff0000"&gt;DELETE FROM Localitate WHERE CodLocalitate = 1&lt;/font&gt;&lt;br&gt;la o situaţie de genul:&lt;br&gt;- tabela Telefoane sunt 3 telefoane având valoare Telefon.CodLocalitate = 1 (cheie externă) ,&lt;br&gt;dar&lt;br&gt;- tabela Localitate.CodLocalitate (cheie primară) nu conţine valoarea 1&lt;br&gt;=&amp;gt; EROARE&lt;br&gt;&lt;br&gt;Deci, soluţia este folosirea unui declanşator INSTEAD OF (asta dacă se doreşte utilizarea declanşatoarelor).&lt;br&gt;</description></item><item><title>Re: ?</title><link>http://sqlserver.ro/forums/thread/4933.aspx</link><pubDate>Thu, 15 May 2008 08:31:29 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4933</guid><dc:creator>Gherry</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4933.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=4933</wfw:commentRss><description>cu multa placere, mi-a prins bine exercitiul &lt;img src="http://sqlserver.ro/emoticons/emotion-5.gif" alt="Wink" /&gt; &lt;br&gt;</description></item><item><title>Re: ?</title><link>http://sqlserver.ro/forums/thread/4930.aspx</link><pubDate>Thu, 15 May 2008 08:25:59 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4930</guid><dc:creator>tebbaerty</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4930.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=4930</wfw:commentRss><description>dap am inteles :) multumesc mult. acum sa vad ce zice bogdan despre ce l-am intrebat :D&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: ?</title><link>http://sqlserver.ro/forums/thread/4928.aspx</link><pubDate>Thu, 15 May 2008 07:38:12 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:4928</guid><dc:creator>Gherry</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/4928.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=14&amp;PostID=4928</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;tebbaerty:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;br&gt;&lt;br&gt;&lt;font color="#000000"&gt;care e faza cu cu &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;br&gt;SELECT&lt;/span&gt;     Id, alte_date, &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'stergere'&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; Expr1&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt;         Deleted &lt;br&gt;&lt;br&gt;mai exact acel &lt;/span&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS &lt;/span&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Expr1 ... si din cate inteleg tabela Deleted este o tabela temporara creata cand este apelat Delete nu ?&lt;/span&gt;
&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;in ceea ce priveste tabelele Deleted si Inserted nu stiu foarte multe despre ele (nu am studiat foarte amanuntit situatia ci doar cat aveam nevoie ca sa imi rezolv problemele) stiu doar ca atunci cand se sterg datele pot fi accesate temporar in acele tabele (iar la apelul trigerre-lor inca se gasesc acolo datele)&lt;br&gt;in ceea ce priveste partea cu Expr1 e din cauza ca am facut query-ul in designer iar el pune automat acel alias &lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item></channel></rss>