Transact-SQL 示例
任务需求是这样的,定义一个存储过程可以根据设定的存储过程参数去查询某个表返回可以分页的,参数的功能如下: 1.返回记录集的第n页(@pageNo) 2.每页显示n条记录(@pageSize) 3.筛选条件(@where) 4.排序规则(@orderby) 5.总记录数(@rows) Ok,在拿
任务需求是这样的,香港虚拟主机,定义一个存储过程可以根据设定的存储过程参数去查询某个表返回可以分页的,参数的功能如下:
1.返回记录集的第n页(@pageNo)
2.每页显示n条记录(@pageSize)
3.筛选条件(@where)
4.排序规则(@orderby)
5.总记录数(@rows)
Ok,在拿到需求后,香港服务器,便开始分析。。。这里需要使用到拼接sql字符串变量然后Exec @sql即可,美国空间,但是实践发现。Exec @sql并不能把总记录数传递给外部的@rows OUTPUT参数上,为此stackoverflow一番发现答案。
下面是本人目前的做法:
--定义存储过程
-- 示例过程中使用每个数据库都会自带的系统视图sys.objects作为测试用表
CREATE PROCEDURE dbo.Demo1
@pageNo int = 1,
@pageSize int = 10,
@where nvarchar(1000) = N'',
@orderby nvarchar(1000) = N'name asc',
@rows int OUTPUT
AS
BEGIN
DECLARE @sql nvarchar(max)
SET @sql = N'SELECT @rowsInner = COUNT(1) FROM sys.objects'
IF @where N''
SET @sql = @sql + N' WHERE ' + @where
SET @sql = @sql + N';
SELECT *
FROM (
SELECT ROW_NUMBER() OVER(ORDER BY ' + @orderby + N') RowId,
object_id,
name
FROM
sys.objects '
IF (@where N'')
SET @sql = @sql + N'WHERE ' + @where
SET @sql = @sql + N'
) a
WHERE
a.RowId between (@pageNoInner - 1) * @pageSizeInner + 1 AND @pageNoInner * @pageSizeInner'
--若要调试请撤销如下代码的注释并注释

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Apabila mencipta mesin maya, anda akan diminta untuk memilih jenis cakera, anda boleh memilih cakera tetap atau cakera dinamik. Bagaimana jika anda memilih cakera tetap dan kemudian menyedari bahawa anda memerlukan cakera dinamik, atau sebaliknya. Anda boleh menukar satu kepada yang lain? Dalam siaran ini, kita akan melihat cara menukar cakera tetap VirtualBox kepada cakera dinamik dan sebaliknya. Cakera dinamik ialah cakera keras maya yang pada mulanya mempunyai saiz kecil dan membesar dalam saiz semasa anda menyimpan data dalam mesin maya. Cakera dinamik sangat cekap dalam menjimatkan ruang storan kerana ia hanya mengambil sebanyak mungkin ruang storan hos seperti yang diperlukan. Walau bagaimanapun, apabila kapasiti cakera berkembang, prestasi komputer anda mungkin terjejas sedikit. Cakera tetap dan cakera dinamik biasanya digunakan dalam mesin maya

Adakah Excel terus membuang Buku kerja ini mengandungi pautan ke satu atau lebih sumber luaran yang mungkin memaparkan mesej amaran yang tidak selamat semasa membuka buku kerja? Ramai pengguna telah melaporkan bahawa mereka menerima amaran ini apabila mereka membuka fail Excel. Walaupun amaran ini menunjukkan bahawa terdapat pautan yang berpotensi berniat jahat dalam buku kerja, ia mungkin dicetuskan walaupun anda telah menyertakan sumber luaran yang dipercayai Buku kerja ini mengandungi pautan ke satu atau lebih sumber luaran yang berpotensi tidak selamat jika anda membuka Amaran "Buku kerja ini mengandungi pautan ke satu atau lebih sumber luaran yang mungkin tidak selamat" muncul apabila anda membuka fail. Anda boleh mencuba penyelesaian berikut untuk menyelesaikan isu: Semak pautan luaran dalam buku kerja dan alih keluar pautan yang tidak dipercayai. . Gunakan ciri pautan edit

Pengenalan kepada fungsi Python: Pengenalan dan contoh fungsi exec Pengenalan: Dalam Python, exec ialah fungsi terbina dalam yang digunakan untuk melaksanakan kod Python yang disimpan dalam rentetan atau fail. Fungsi exec menyediakan cara untuk melaksanakan kod secara dinamik, membolehkan program menjana, mengubah suai dan melaksanakan kod seperti yang diperlukan semasa masa jalan. Artikel ini akan memperkenalkan cara menggunakan fungsi exec dan memberikan beberapa contoh kod praktikal. Cara menggunakan fungsi exec: Sintaks asas fungsi exec adalah seperti berikut: exec

Spesifikasi lekukan dan contoh bahasa Go adalah bahasa pengaturcaraan yang dibangunkan oleh Google Ia terkenal dengan sintaksnya yang ringkas dan jelas, yang mana spesifikasi lekukan memainkan peranan penting dalam kebolehbacaan dan keindahan kod. Artikel ini akan memperkenalkan spesifikasi lekukan bahasa Go dan menerangkan secara terperinci melalui contoh kod tertentu. Spesifikasi lekukan Dalam bahasa Go, tab digunakan untuk lekukan dan bukannya ruang. Setiap tahap lekukan ialah satu tab, biasanya ditetapkan kepada lebar 4 ruang. Spesifikasi sedemikian menyatukan gaya pengekodan dan membolehkan pasukan bekerjasama untuk menyusun

Fungsi DECODE dalam Oracle ialah ungkapan bersyarat yang sering digunakan untuk mengembalikan hasil yang berbeza berdasarkan keadaan yang berbeza dalam pernyataan pertanyaan. Artikel ini akan memperkenalkan sintaks, penggunaan dan kod sampel bagi fungsi DECODE secara terperinci. 1. sintaks fungsi DECODE DECODE(expr,search1,result1[,search2,result2,...,default]) expr: ungkapan atau medan yang hendak dibandingkan. carian1,

Pengenalan kepada fungsi Python: Penggunaan dan contoh fungsi isinstance Python ialah bahasa pengaturcaraan berkuasa yang menyediakan banyak fungsi terbina dalam untuk menjadikan pengaturcaraan lebih mudah dan cekap. Salah satu fungsi terbina dalam yang sangat berguna ialah fungsi isinstance(). Artikel ini akan memperkenalkan penggunaan dan contoh fungsi isinstance dan memberikan contoh kod khusus. Fungsi isinstance() digunakan untuk menentukan sama ada objek ialah contoh kelas atau jenis tertentu. Sintaks fungsi ini adalah seperti berikut

Pengenalan kepada fungsi Python: fungsi dan contoh fungsi eval Dalam pengaturcaraan Python, fungsi eval ialah fungsi yang sangat berguna. Fungsi eval boleh melaksanakan rentetan sebagai kod program, dan fungsinya sangat berkuasa. Dalam artikel ini, kami akan memperkenalkan fungsi terperinci bagi fungsi eval, serta beberapa contoh penggunaan. 1. Fungsi fungsi eval Fungsi fungsi eval adalah sangat mudah Ia boleh melaksanakan rentetan sebagai kod Python. Ini bermakna kita boleh menukar rentetan

Pengenalan kepada fungsi Python: fungsi dan contoh fungsi disusun Python ialah bahasa pengaturcaraan yang sangat berkuasa dengan pelbagai fungsi dan modul terbina dalam. Dalam siri artikel ini, kami akan memperkenalkan fungsi Python yang biasa digunakan satu demi satu dan memberikan contoh yang sepadan untuk membantu pembaca memahami dan menggunakan fungsi ini dengan lebih baik. Artikel ini akan memperkenalkan fungsi dan contoh fungsi yang disusun secara terperinci. Fungsi diisih digunakan untuk mengisih objek boleh lelar dan mengembalikan senarai diisih baharu. Boleh digunakan untuk nombor dan perkataan
