<?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>Απ: Custom, yet safe identity number generation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/72972.aspx</link><pubDate>Mon, 24 Jun 2013 03:45:39 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:72972</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/72972.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=72972</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Dimitris Papadimitriou:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/p&gt;&lt;p&gt;...Κατά τα άλλα οι πίνακές μου χρησιμοποιούν παραδοσιακά identity columns....&lt;/p&gt;&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;Αν δε ρωτήσω θα σκάσω... Δηλαδή ο πίνακας έχει ΚΑΙ identity column ΚΑΙ custom generated id column; Αν ναι, τι είδους παραπάνω έλεγχο μπορεί να έχω μ 'αυτή την πρακτική; (Αντιλαμβάνομαι ότι η ερώτηση δεν έχει άμεση σχέση με το thread και ζητώ συγνώμη γι' αυτό...). Επίσης, ένα μειονέκτημα σε σχέση με την built in υλοποίηση των sequences είναι ότι δεν έχω caching. Συνεπώς, τι κερδίζω με όλ' αυτά;&lt;br&gt;&lt;/p&gt;</description></item><item><title>Απ: Custom, yet safe identity number generation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/72971.aspx</link><pubDate>Mon, 24 Jun 2013 03:11:27 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:72971</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/72971.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=72971</wfw:commentRss><description>&lt;p&gt;Κάτι τέτοιο απλά θα πρέπει να είσαι προετοιμασμένος για αυτούς που θα προσπαθούν να πάρουν αριθμό όταν κάποιος άλλος έχει ήδη κάνει αυτό. Ιδανική λύση όπως έχω ήδη πει δεν υπάρχει&lt;/p&gt;</description></item><item><title>Απ: Custom, yet safe identity number generation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/72970.aspx</link><pubDate>Mon, 24 Jun 2013 02:58:31 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:72970</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/72970.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=72970</wfw:commentRss><description>&lt;p&gt;Is this what you mean?&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Tahoma, Arial, Helvetica;font-size:12px;"&gt;UPDATE [Configuration]&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;WITH (SERIALIZABLE)&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Tahoma, Arial, Helvetica;"&gt;&amp;nbsp;SET @NewValue = [LastNumber] = [&lt;/span&gt;&lt;span style="font-family:Tahoma, Arial, Helvetica;font-size:12px;"&gt;LastNumber&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Tahoma, Arial, Helvetica;"&gt;] + 1&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Απ: Custom, yet safe identity number generation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/72969.aspx</link><pubDate>Mon, 24 Jun 2013 02:42:52 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:72969</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/72969.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=72969</wfw:commentRss><description>&lt;p&gt;Αρχικά να τονίζω ότι και με τα sequence αλλά και με τα πεδία identity όταν γίνεται rollback ένα transaction αυτά χάνουν τον αριθμό που ήταν να δώσουν. Οι διαφορά μεταξύ τους είναι ότι με τα sequence έχεις μεγαλύτερο έλεγχο αλλά μπορείς να γνωρίζεις τον αριθμό αυτό πριν μπει η εγγραφή στο πίνακα. Αν το ζητούμενο είναι να έχω συνεχώμενο αριθμό χωρίς να χάνω ούτε έναν αυτές οι λύσεις δεν παίζουν. Αντίθετα θα πρέπει να το κάνεις μόνος σου.&lt;/p&gt;&lt;p&gt;Για το identity που αναφέρει ο Παναγιώτης με το τρικ του Itzik θα πρέπει να τον ρωτήσεις τώρα για αυτό καθώς και αυτό δεν φέρνει το εποθυμητό αποτέλεσμα καθώς για να υλοποιηθεί το identity δημιουργούνται κάποιοι buffers και από εκει δίνονται τα νούμερα. Υπάρχουν όμως περιπτώσεις που ενώ περιμένεις να παρεις τον επόμενο που είναι πχ το 10 να πάρεις το 1287(τυχαίο). Επίσης να τονισθεί ότι με το identity&amp;nbsp;ο SQL Server εγγυάται είναι ότι θα είναι μοναδικός σειρακός αριθμός αλλά μη συνεχές.&lt;/p&gt;&lt;p&gt;Αυτό που έχει φτιάξει ο Δημήτρης και έχουμε κάνει κατ ιδία την συζήτηση αυτή δεν είναι λάθος του έχω τονίσει την ιδιαιτερότητα με τα transactions και αν παίξει με transaction isolation level serializiable&amp;nbsp;ή ένα exclusive lock hint δεν θα έχει πρόβλημα &lt;/p&gt;&lt;p&gt;Αυτό είναι τα 2cents μου&lt;/p&gt;</description></item><item><title>Απ: Custom, yet safe identity number generation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/72968.aspx</link><pubDate>Mon, 24 Jun 2013 02:28:26 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:72968</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/72968.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=72968</wfw:commentRss><description>&lt;p&gt;Το πρόβλημα είναι ότι ΔΕΝ είναι ασφαλές το stored procedure έτσι όπως το έχεις γράψει. Υπάρχει πάντα η πιθανότητα να δωθεί ο ίδιος αριθμός σε δύο clients, εκτός και αν διαχειρίζεσαι τα transactions μέσα στο ίδιο το stored procedure. Επιπλέον, υπάρχει πάντα η πιθανότητα δύο clients να διαβάσουν το ίδιο ακριβώς νούμερο και να επιστρέψουν την ίδια ακριβώς τιμή, αν χρησιμοποιείς snapshot isolation.&lt;/p&gt;&lt;p&gt;Το θέμα των sequences &amp;nbsp;δεν είναι κάτι καινούριο, έχει συζητηθεί εξαντλητικά εδώ και τουλάχιστον μία δεκαετία. Κάποιες τεχνικές τις είχα πρωτοσυναντήσει στα βιβλία του Joe Celko με ημερομηνία έκδοσης το 1998. Αντί να προσπαθείς να φτιάξεις κάτι από το μηδέν, ψάξε να δεις τί υπάρχει ήδη και που έχει καταλήξει η συζήτηση.&amp;nbsp;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Αλήθεια, ΠΟΥ θέλεις να χρησιμοποιήσεις αυτό το νούμερο? Αν θέλεις να το χρησιμοποιήσεις σε κώδικα ίσως θα μπορούσες να παρακάμψεις εντελώς το sequence και να χρησιμοποιήσεις μία τεχνική HiLo όπου ο κάθε client θα έχει το δικό του high word ενός long και το low word θα έρχεται π.χ. από τον αριθμό των millisecond ή των ticks. Είναι η τεχνική που χρησιμοποιούν τα ORMs για να παρακάμψουν τη δημιουργία των unique keys στην database και το επιπλέον round-trip.&amp;nbsp;&lt;/p&gt;</description></item><item><title>Απ: Custom, yet safe identity number generation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/72967.aspx</link><pubDate>Mon, 24 Jun 2013 01:54:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:72967</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/72967.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=72967</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Dimitris Papadimitriou:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/p&gt;&lt;p&gt;...Πρόκειται για ένα ιδιαίτερο αριθμό στο σύστημά μου και όχι για ένα καθολικό σύστημα ID generation που αντικαθιστά τα πάντα στην βάση μου...&lt;/p&gt;&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;Αυτός ο "ιδιαίτερος&amp;nbsp; αριθμός" προσδιορίζει κάτι; Εμπεριέχει μέσα του πληροφορία που χρειάζεσαι; Αν ναι, ποια τα χαρακτηριστικά του; Κάτι μου λέει ότι για να είναι "ιδιαίτερος" το generation του έχει κάποιες προδιαγραφές και δεν πρόκειται για ένα απλό increment κατά μία μονάδα κάθε φορά. Σ' αυτό που γράφει ο Παναγιώτης έχει δίκιο (ακόμα κι αν κάνεις rollback η τιμή δεν θα επανέλθει σε κάποια προηγούμενη). Συνεπώς τι το ιδιαίτερο πρέπει να έχει το custom generated key που θέλεις;&lt;br&gt;&lt;/p&gt;&lt;br&gt;</description></item><item><title>Απ: Custom, yet safe identity number generation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/72966.aspx</link><pubDate>Mon, 24 Jun 2013 01:43:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:72966</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/72966.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=72966</wfw:commentRss><description>&lt;p&gt;Παναγιώτη δέχομαι την &lt;b&gt;παραδοχή&lt;/b&gt; που λες: "&lt;span style="font-family:Tahoma, Arial, Helvetica;font-size:12px;"&gt;Για να δουλέψει σωστά ένα sequence βασισμένο σε πίνακα θα πρέπει να εκτελείται ανεξάρτητα από το transaction που το περιβάλλει. Αυτό σημαίνει ότι ακόμα και αν κάνεις rollback, η τιμή του δεν θα επανέλθει σε κάποια προηγούμενη.", όπως επίσης και δέχομαι ότι αυτή η τεχνική μπορεί να οδηγήσει σε χαμένα νούμερα.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Το Insert/Rollback σε εικονικό πίνακα με identity column μου το προτείνετε και οι δυο, αλλά δε με ενθουσιάζει περισσότερο από αυτό που ήδη έγραψα.&lt;/p&gt;&lt;p&gt;Μάρκο θέλω μια δική μου υλοποίηση απλά για να έχω περισσότερο έλεγχο πάνω στη διαδικασία. Πρόκειται για ένα ιδιαίτερο αριθμό στο σύστημά μου και όχι για ένα καθολικό σύστημα ID generation που αντικαθιστά τα πάντα στην βάση μου. Κατά τα άλλα οι πίνακές μου χρησιμοποιούν παραδοσιακά identity columns.&lt;/p&gt;&lt;p&gt;Τα sequences που τα επισήμανε και ο Μάστερ Αντώνης Χατζηπαυλής αλλά εγκαταλήψαμε την ιδέα καθώς δεν υποστηρίζονται στο sql azure.&lt;/p&gt;&lt;p&gt;Οπότε ας κάνουμε redefine τις απαιτήσεις:&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;- Custom id generation&lt;/p&gt;&lt;p&gt;- Safety so that two clients running that stored procedure cannot get the same number&lt;/p&gt;&lt;p&gt;- Not a problem if a few numbers a lost&lt;/p&gt;&lt;p&gt;- Runs on sql azure&lt;/p&gt;&lt;p&gt;Νομίζω ότι με αυτές τις απαιτήσεις δεν είναι κακή λύση, σωστά;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Απ: Custom, yet safe identity number generation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/72965.aspx</link><pubDate>Mon, 24 Jun 2013 01:28:41 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:72965</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/72965.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=72965</wfw:commentRss><description>&lt;p&gt;Αυτό υπάρχει στον SQL Server 2012 με τη μορφή των sequences. Σε παλαιότερες εκδόσεις υπάρχουν διάφορες τεχνικές για να δημιουργήσεις sequences και σίγουρα δεν υπάρχει λόγος να περιοριστείς μόνο σε ένα sequence.&lt;/p&gt;
&lt;p&gt;Έτσι όπως είναι το procedure θα έχει θέμα με τα transactions. &lt;/p&gt;
&lt;p&gt;- Αν δύο διαφορετικά transactions προσπαθήσουν να πάρουν νούμερο, το ένα από αυτά θα μπλοκάρει μέχρι να τελειώσει το δεύτερο, καθώς τα update locks που θα πάρει το ένα transaction θα διατηρηθούν μέχρι το τέλος. &lt;/p&gt;
&lt;p&gt;- Επιπλέον, αν το transaction που κάνει rollback, θα επανέλθει το sequence στην προηγούμενη τιμή του με αποτέλεσμα ο επόμενος που θα ζητήσει νούμερο, να πάρει το ίδιο νούμερο ξανά.&lt;/p&gt;
&lt;p&gt;Για να δουλέψει σωστά ένα sequence βασισμένο σε πίνακα θα πρέπει να εκτελείται ανεξάρτητα από το transaction που το περιβάλλει. Αυτό σημαίνει ότι ακόμα και αν κάνεις rollback, η τιμή του δεν θα επανέλθει σε κάποια προηγούμενη.&lt;/p&gt;
&lt;p&gt;Αξίζει να ψάξεις άρθρα των Itzik Ben Gan, Aaron Bertrand για sequences καθώς προτείνουν διάφορες τεχνικές, με διαφορετικά πλεονεκτήματα και μειονεκτήματα η κάθε μία. Τα πράγματα βέβαια έχουν γίνει λίγο "περίεργα" καθώς τα πρώτα αποτελέσματα που θα βρεις πλέον αφορούν τα Sequences του SQL Server 2012 αντί για τα custom sequences των προηγούμενων εκδόσεων.&lt;/p&gt;
&lt;p&gt;Τουλάχιστον μία τεχνική πάντως περιγράφεται στο Inside SQL Server 2008: T-SQL Programming και ευτυχώς μπορείς να την βρεις και στο &lt;a href="http://books.google.gr/books?id=jJLlWpni7EIC&amp;amp;pg=PT429&amp;amp;lpg=PT429&amp;amp;dq=itzik+ben+gan+t-sql+sequence&amp;amp;source=bl&amp;amp;ots=ble7h2aTjv&amp;amp;sig=TDhM5yNJXYAtHRc1ef9gv2qEJLY&amp;amp;hl=el&amp;amp;sa=X&amp;amp;ei=TRHHUZ-IGcPQtQbw2YCICg&amp;amp;ved=0CG4Q6AEwCQ"&gt;Google Books&lt;/a&gt;. Δημιουργεί ένα πίνακα με Identity column και μετά σε ένα stored procedure κάνει save ένα savepoint, insert στον πίνακα και rollback το savepoint. ΤΟ αποτέλεσμα είναι ότι έχει πάρει ένα νέο νούμερο μέσω του SCOPE_IDENTITY() χωρίς να κάνει κάποια εγγραφή:&lt;/p&gt;&lt;p&gt;CREATE PROC dbo.GetSequence&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; @val as INT OUTPUT&amp;nbsp;&lt;/p&gt;&lt;p&gt;AS&lt;/p&gt;&lt;p&gt;BEGIN TRAN&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; SAVE TRAN S1;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; INSERT INTO dbo.Sequence DEFAULT VALUES;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; SET @val=SCOPE_IDENTITY();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; ROLLBACK TRAN S1;&lt;/p&gt;&lt;p&gt;COMMIT TRAN;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Απ: Custom, yet safe identity number generation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/72964.aspx</link><pubDate>Mon, 24 Jun 2013 01:20:34 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:72964</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/72964.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=72964</wfw:commentRss><description>&lt;p&gt;Γεια σου Δημήτρη,&lt;/p&gt;&lt;p&gt;Νομίζω ότι το θέμα δεν είναι τόσο απλό και δεν ξέρω αν μπορώ να απαντήσω γρήγορα και σωστά στα πλαίσια ενός post. Φαντάζομαι ότι έχεις διαβάσει το άρθρο "&lt;a href="http://www.sqlteam.com/article/custom-auto-generated-sequences-with-sql-server"&gt;Custom Auto-Generated Sequences with SQL Server&lt;/a&gt;". Εν ολίγοις, ο συγγραφέας καταλήγει ότι ο καλύτερος και ασφαλέστερος τρόπος για να πετύχεις κάτι τέτοιο είναι χρησιμοποιήσεις ένα "κρυφό" identity column και μια συνάρτηση που "παράγει" το custom key που θέλεις, χρησιμοποιώντας, όμως, την "κρυφή" τιμή του identity column. Διαβάζοντάς το, η μόνη παρατήρηση που έχω να κάνω είναι πως, αν πρόκειται για θέμα presentation, γιατί η συνάρτηση αυτή να είναι γραμμένη σε T-SQL και όχι σε κάποια .NET γλώσσα και η μετατροπή να γίνεται στον client...&lt;/p&gt;&lt;p&gt;Λαμβάνοντας υπ' όψη όλα τα παραπάνω, η ερώτηση που ακολουθεί είναι αναπόφευκτη:&lt;/p&gt;&lt;p&gt;Γιατί χρειάζεσαι custom key generation;&lt;br&gt;&lt;/p&gt;&lt;div style="position:absolute;top:-1999px;left:-1988px;"&gt;Custom Auto-Generated Sequences with SQL Server&lt;/div&gt;&lt;div style="position:absolute;top:-1999px;left:-1988px;"&gt;Custom Auto-Generated Sequences with SQL Server&lt;/div&gt;&lt;div style="position:absolute;top:-1999px;left:-1988px;"&gt;Custom Auto-Generated Sequences with SQL Server&lt;/div&gt;</description></item><item><title>Custom, yet safe identity number generation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/72963.aspx</link><pubDate>Sun, 23 Jun 2013 21:41:53 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:72963</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/72963.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=72963</wfw:commentRss><description>&lt;p&gt;Πως σας φαίνεται το παρακάτω; Προϋποθέτει ότι υπάρχει ένας πίνακας που λέγεται Configuration, έχει μια στήλη LastNumber int NOT NULL με αρχική τιμή 0 και μόνο μια εγγραφή πάντα.&lt;/p&gt;&lt;p&gt;CREATE PROCEDURE GetUniqueID&amp;nbsp;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;AS&lt;/span&gt;&lt;/p&gt;&lt;p&gt;BEGIN&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-tab-span" style="white-space:pre;"&gt;	&lt;/span&gt;SET NOCOUNT ON;&lt;span class="Apple-tab-span" style="font-size:10pt;white-space:pre;"&gt;	&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-tab-span" style="white-space:pre;"&gt;	&lt;/span&gt;DECLARE @NewValue as int&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UPDATE [Configuration]&lt;span style="font-size:10pt;"&gt;&amp;nbsp;SET @NewValue = [LastNumber] = [&lt;/span&gt;LastNumber&lt;span style="font-size:10pt;"&gt;] + 1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-tab-span" style="white-space:pre;"&gt;	&lt;/span&gt;R&lt;span style="font-size:10pt;"&gt;ETURN @NewValue&lt;/span&gt;&lt;/p&gt;&lt;p&gt;END&lt;/p&gt;&lt;p&gt;GO&lt;/p&gt;</description></item></channel></rss>