<?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>Απ: Πώς μπορούμε νά πάρουμε ένα LIMIT CLAUSE στον SQL SERVER όπως στην MySQL ή Oracle</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/9339.aspx</link><pubDate>Tue, 07 Feb 2006 20:05:51 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:9339</guid><dc:creator>imanos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/9339.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=9339</wfw:commentRss><description>Αγαπητέ Παναγιώτη.&lt;br&gt;To Query που έδωσα σάν παράδειγμα όχι με την μορφή που είναι θά μπορούσε νά δημιουργηθεί μέ δυναμική SQL μέσα σε μιά sp όπου θα δέχεται σάν παράμετρο τον αριθμό της σελίδας και τον αριθμό των γραμμών ανά σελίδα.&lt;br&gt;Τέλος δεν αναφερόμουν στον SQL2005 που όπως σωστά αναφέρεις υπάρχει και η συνάρτηση ROW_NUMBER.&lt;br&gt;Επίσης πολύ καλά έκανες και αναφέρεις τα παραπάνω ,άλλωστε αυτός είναι ο σκοπός του site να ανταλάσσουμε απόψεις  να βελτιωνόμαστε και να μαθαίνουμε .</description></item><item><title>Απ: Πώς μπορούμε νά πάρουμε ένα LIMIT CLAUSE στον SQL SERVER όπως στην MySQL ή Oracle</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/9335.aspx</link><pubDate>Tue, 07 Feb 2006 10:17:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:9335</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/9335.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=9335</wfw:commentRss><description>&lt;P&gt;Τη συζήτηση αυτή την είχαμε πριν από λίγο καιρό στο &lt;A HREF="/cs/forums/2875/ShowPost.aspx"&gt;Custom Paging with Stored Procedures&lt;/A&gt;. Εκεί αναφέρονται 3-4 διαφορετικές λύσεις οι οποίες προέρχονται από βιβλία και blogs από SQL Server MVPs. Η απλή λύση με το TOP&amp;nbsp;n είναι χρήσιμη μόνο αν χρησιμοποιεί κανείς&amp;nbsp;δυναμική sql ή δεν χρειάζεται να περάσει παραμέτρους για τον αριθμό της σελίδας. Για το λόγο αυτό δεν είναι και τόσο καλή για paging. Από την άλλη, η λύση που προτείνει ο Aaron Bertrand στο &lt;A title=http://www.aspfaq.com/show.asp?id=2120#results href="http://www.aspfaq.com/show.asp?id=2120#results" target=_blank&gt;&lt;FONT color=#1f317f&gt;"How do I page a recordset?"&lt;/FONT&gt;&lt;/A&gt; είναι ένα έτοιμο stored procedure και το μόνο που χρειάζεται είναι να του περάσεις τον αριθμό σελίδας και τον αριθμό των εγγραφών ανά σελίδα. Σε κάθε περίπτωση, η χρήση δυναμικής sql μπορεί να φαίνεται ευκολότερη αλλά δημιουργεί πολύ μεγαλύτερα προβλήματα επιδόσεων και ασφάλειας, ειδικά σε σε web εφαρμογές.&lt;/P&gt;
&lt;P&gt;Η κατάσταση γίνεται πιο εύκολη πάντως στον SQL Server 2005 ο οποίος επιτρέπει τη χρήση παραμέτρων στο TOP και συναρτήσεις όπως το ROW_NUMBER. Ο Aaron Bertrand πάλι περιγράφει μία λύση με το ROW_NUMBER και μία με το καινούριο TOP στο &lt;A href="http://www.aspfaq.com/sql2005/show.asp?id=11"&gt;"Why is there still no LIMIT clause?"&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: Πώς μπορούμε νά πάρουμε ένα LIMIT CLAUSE στον SQL SERVER όπως στην MySQL ή Oracle</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/9017.aspx</link><pubDate>Mon, 30 Jan 2006 19:30:03 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:9017</guid><dc:creator>Χρήστος Γεωργακόπουλος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/9017.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=9017</wfw:commentRss><description>Όντως, τώρα που το ξαναβλέπω, πρώτα περιορίζεις τις εγγραφές στο μέγεθος του page σου, οπότε τα επόμενα sorts γίνονται σε πολύ λίγες εγγραφές. Γράψε λάθος...</description></item><item><title>Απ: Πώς μπορούμε νά πάρουμε ένα LIMIT CLAUSE στον SQL SERVER όπως στην MySQL ή Oracle</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/9016.aspx</link><pubDate>Mon, 30 Jan 2006 19:10:13 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:9016</guid><dc:creator>imanos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/9016.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=9016</wfw:commentRss><description>Δέν το νομίζω το έχω δοκιμάσει σέ πίνακα μέ αρκετές χιλιάδες εγγραφές. &lt;BR&gt;&lt;BR&gt;Και νομίζω ότι είναι βοηθάει σε web based εφορμογές όταν θέλουμε νά κανουμε paging(Σελιδοποίηση 1,2,3...). &lt;BR&gt;Αν έχεις κάτι καλλύτερο να προτείνεις ευπρόσδεκτο.</description></item><item><title>Απ: Πώς μπορούμε νά πάρουμε ένα LIMIT CLAUSE στον SQL SERVER όπως στην MySQL ή Oracle</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/9015.aspx</link><pubDate>Mon, 30 Jan 2006 18:46:21 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:9015</guid><dc:creator>Χρήστος Γεωργακόπουλος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/9015.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=9015</wfw:commentRss><description>Μήπως είναι λίγο βαρύ αυτό; Sort και κόντρα ανάποδο sort...</description></item><item><title>Πώς μπορούμε νά πάρουμε ένα LIMIT CLAUSE στον SQL SERVER όπως στην MySQL ή Oracle</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/9014.aspx</link><pubDate>Mon, 30 Jan 2006 10:15:04 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:9014</guid><dc:creator>imanos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/9014.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=9014</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#000000&gt;Παράδειγμα στην βάση pubs&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff&gt;&lt;FONT color=#000000&gt;SELECT emp_id,lname,fname FROM employee LIMIT 20&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;,10&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Το παραπάνω query μας λέει ότι πρέπει νά μας επιστρέψει 10 εγγραφές αρχίζωντας από τη θέση 21&lt;/P&gt;
&lt;P&gt;Νά ένας τρόπος για να πάρουμε στον SQL Server το παραπάνω query χωρίς την δημιουργία και τον πονοκέφαλο μιας sp&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff&gt;select * from (&lt;BR&gt;&amp;nbsp;select top 10 emp_id,lname,fname from (&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;select top 30 emp_id,lname,fname&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;from employee&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;order by lname asc&lt;BR&gt;&amp;nbsp;) as&amp;nbsp;tbl_1 order by lname desc&lt;BR&gt;) as tbl_2 order by lname asc&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR&gt;&lt;/P&gt;</description></item></channel></rss>