<?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>Απ: Δυο ερωτήματα μαζί</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/12077.aspx</link><pubDate>Tue, 25 Apr 2006 18:02:48 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:12077</guid><dc:creator>Ioannis P</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/12077.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=12077</wfw:commentRss><description>Σας ευχαριστώ και τους δυο.&lt;br /&gt;
&lt;br /&gt;
Χρόνια Πολλά σε όλους.</description></item><item><title>Απ: Δυο ερωτήματα μαζί</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/12076.aspx</link><pubDate>Tue, 25 Apr 2006 17:24:36 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:12076</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/12076.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=12076</wfw:commentRss><description>&lt;P&gt;Αν θέλεις να εκτελέσεις και τις δύο τροποποιήσεις στα πλαίσια ενός transaction χρησιμοποιώντας SQL statements θα πρέπει να φτιάξεις ένα string με τις εντολές και στην αρχή του να βάλεις "BEGIN TRANSACTION;" και στο τέλος "COMMIT;". Π.χ.&lt;/P&gt;
&lt;P&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;BEGIN&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;TRANSACTION&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;UPDATE&lt;/span&gt; TABLE1&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;SET&lt;/span&gt; Field1=&lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;'XXX'&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;WHERE&lt;/span&gt; ID=1;&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;UPDATE&lt;/span&gt; TABLE2&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;SET&lt;/span&gt; Field2=&lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;'XXX'&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;WHERE&lt;/span&gt; ID=2;&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;COMMIT&lt;/span&gt;;"&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Νομίζω ότι στην Oracle θα πρέπει να τροποποιήσεις τα default, καθώς θεωρεί ότι οποιαδήποτε εντολή μετά από ένα commit ξεκινάει νέο transaction. Θα πρέπει να το δοκιμάσεις όμως, γιατί έχω καιρό να χρησιμοποιήσω Oracle. &lt;/P&gt;
&lt;P&gt;Αυτό που λες για τα double quotes δεν ισχύει ούτε στον SQL Server. Και στον SQL Server, για να εκτελέσεις πολλαπλά updates σε ένα transaction θα πρέπει να χρησιμοποιήσεις τα BEGIN TRANSACTION ... COMMIT.&lt;/P&gt;</description></item><item><title>Απ: Δυο ερωτήματα μαζί</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/12071.aspx</link><pubDate>Tue, 25 Apr 2006 02:16:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:12071</guid><dc:creator>imanos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/12071.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=12071</wfw:commentRss><description>Θα πρέπει να ξεκινήσεις ένα transaction και θα δηλώσεις τα ερωτήματα σου σάν μέρος του transaction οπότε άν υπάρξει περίπτωση λάθους τότε στο block try catch&lt;br /&gt;
&lt;br /&gt;
μπορείς να κάνεις rollback το transaction.&lt;br /&gt;
&lt;br /&gt;
π.χ.&lt;br /&gt;
&lt;br /&gt;
private function blabla() as boolean&lt;br /&gt;
&lt;br /&gt;
dim trn as OleDb.OleDbTransaction&lt;br /&gt;
&lt;br /&gt;
try&lt;br /&gt;
&lt;br /&gt;
  trn = Me.Connection.BeginTransaction()&lt;br /&gt;
&lt;br /&gt;
   oledbCommand1.Transaction=trn&lt;br /&gt;
&lt;br /&gt;
   oledbCommand2.Transaction=trn&lt;br /&gt;
&lt;br /&gt;
   oledbCommand1..ExecuteNonQuery()&lt;br /&gt;
&lt;br /&gt;
   oledbCommand2..ExecuteNonQuery()&lt;br /&gt;
&lt;br /&gt;
   trn.Commit()&lt;br /&gt;
&lt;br /&gt;
   return true&lt;br /&gt;
&lt;br /&gt;
catch ex as exception&lt;br /&gt;
&lt;br /&gt;
   trn.Rollback()&lt;br /&gt;
&lt;br /&gt;
   return false&lt;br /&gt;
&lt;br /&gt;
end try&lt;br /&gt;
&lt;br /&gt;
end function</description></item><item><title>Δυο ερωτήματα μαζί</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/12055.aspx</link><pubDate>Fri, 21 Apr 2006 19:57:25 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:12055</guid><dc:creator>Ioannis P</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/12055.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=12055</wfw:commentRss><description>Έχω φτιάξει κάποια μικρή εφαρμογή σε VB.net 2005 και Oracle 9,2 και σε κάποιο σημείο ενημερώνω δυο πίνακες διαδοχικά. Αυτό που θέλω να μάθω είναι, πως θα διασφαλίσω οτι θα ενημερωθούν και οι δύο πίνακες ή κανένας σε περίπτωση σφάλματος (πχ δικτύου). Θυμάμαι οτι κάποιος μου είχε πει κάποτε οτι στον SQL αν δυο ερωτήματα είναι μέσα σε double quotes θα εκτελεστούν σαν ένα. Οπότε ή θα εκτελεστούν και τα δυο ή κανένα. Κάτι ανάλογο σε Oracle;&lt;br&gt;</description></item></channel></rss>