<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/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>SQL Server (και άλλες databases)</title><link>https://www.dotnetzone.gr:443/cs/forums/28/ShowForum.aspx</link><description>Θέματα που αφορούν τον SQL Server (7.0, 2000, 2005) αλλά και Oracle, Access, DB2, MySQL, κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: χρήση sp_send_dbmail</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/34625.aspx</link><pubDate>Fri, 31 Aug 2007 04:22:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:34625</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/34625.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=34625</wfw:commentRss><description>&lt;P&gt;Μπορείς να αποφύγεις τους cursors. Σε αυτό το &lt;A href="http://www.dotnetzone.gr/cs/blogs/mkelaiditis/archive/2007/01/16/efficient-schema-changes-ii.aspx"&gt;blog-post&lt;/A&gt; παρουσιάζω μια τεχνική για iteration χωρίς χρήση cursors. Βάζοντας ένα τρίτο πεδίο flag στον temp πίνακα, μπορείς να την προσαρμόσεις ώστε μέσα το transaction να να κάνει sp_send_dbmail και κατόπιν UPDATE το flag σε κατάσταση set. Πριν ξεκινήσει η διαδικασία,&amp;nbsp;θέτεις με ένα UPDATE το flag από όλες τις εγγραφές σε κατάσταση "un-set".&lt;/P&gt;</description></item><item><title>χρήση sp_send_dbmail</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/34566.aspx</link><pubDate>Wed, 29 Aug 2007 19:20:18 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:34566</guid><dc:creator>agmarios</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/34566.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=34566</wfw:commentRss><description>έχω ένα temp πίνακα τον οποίο γεμίζω με στοιχεία από την βάση και ο οποίος έχει 2 βασικά πεδία το email address και το body και θέλω να στείλω ένα email σε κάθε μια διευθυνση του πίνακα. &lt;br&gt;Χρησιμοποιώ τη sp_send_dbmail μέσα σε έναν cursor και γράφω κάτι που μοιάζει πολύ με το:&lt;br&gt;&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;DECLARE&lt;/span&gt; email_cursor &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CURSOR&lt;/span&gt; LOCAL FAST_FORWARD &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FOR&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;SELECT&lt;/span&gt; rejectReason,cEmail&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; @toReject&lt;br&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OPEN&lt;/span&gt; email_cursor&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FETCH&lt;/span&gt; NEXT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; email_cursor &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; @rejectReason,@custEmail&lt;br&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHILE&lt;/span&gt; (&lt;span style="color:Fuchsia;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;@@FETCH_STATUS&lt;/span&gt; = 0) &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;&lt;br&gt;&amp;nbsp;   &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;exec&lt;/span&gt; msdb.dbo.sp_send_dbmail &lt;br&gt;&amp;nbsp; @recipients= @custEmail,&lt;br&gt;&amp;nbsp; @subject = Ν&lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'order rejected'&lt;/span&gt;,&lt;br&gt;&amp;nbsp; @body =  @rejectReason&lt;br&gt;&lt;br&gt;&amp;nbsp;   &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FETCH&lt;/span&gt; NEXT &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; email_cursor &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; @rejectReason,@custEmail&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CLOSE&lt;/span&gt; email_cursor&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DEALLOCATE&lt;/span&gt; email_cursor&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;b&gt;Υπάρχει τρόπος να αποφύγω τη χρήση cursor; &lt;/b&gt;&lt;br&gt;Να σημειώσω ότι η συγκεκριμένη ενέργεια τρέχει ανά 10 λεπτά (με agent job) στον server και δεν αναμένεται να στέλνει πολλά emails. (ξέρω το πολλά είναι αόριστο αλλά μιλάμε για το πολύ 1000 συνολικά την ημέρα, αν είναι παραπάνω θα υπάρχουν λεφτά για πολλές επιλογές)&lt;br&gt;</description></item></channel></rss>