Dalam SQL Server, kata kunci TOP membolehkan pengguna menentukan bilangan maksimum baris yang dikembalikan daripada pertanyaan. Walau bagaimanapun, nilai TOP tidak boleh ditetapkan secara langsung menggunakan pembolehubah dinamik.
Untuk mencapai tetapan nilai TOP dinamik, kaedah lain mesti digunakan. Cara yang cekap untuk melakukan ini ialah dengan mengelilingi @var dengan kurungan seperti ini:
<code class="language-sql">SELECT TOP (@count) * FROM SomeTable</code>
Sintaks ini disokong dalam SQL Server 2005 dan lebih baru. Pembolehubah @count akan dinilai pada masa pelaksanaan pertanyaan untuk menentukan bilangan baris untuk diambil.
Sebagai contoh, katakan kami mempunyai pertanyaan seperti ini:
<code class="language-sql">DECLARE @count int SET @count = 20 SELECT * FROM SomeTable</code>
Apabila pertanyaan ini dilaksanakan, semua baris dalam jadual SomeTable akan dikembalikan. Walau bagaimanapun, jika kita ingin mengehadkan keputusan kepada 20 baris pertama, kita boleh menggunakan teknik TOP dinamik:
<code class="language-sql">SELECT TOP (@count) * FROM SomeTable</code>
Memandangkan pembolehubah @count ditetapkan kepada 20, pertanyaan ini hanya akan mengembalikan 20 baris pertama jadual SomeTable.
Kaedah ini menyediakan cara yang mudah untuk mengawal bilangan baris yang dikembalikan daripada pertanyaan secara dinamik tanpa mengubah suai pertanyaan itu sendiri.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menetapkan Klausa TOP secara Dinamik dalam Pertanyaan Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!