改成
declare @TotalNum int
--select @TotalNum = 0
select @TotalNum=count(*) from people_register
select @TotalNum
declare @TotalNum int
--select @TotalNum = 0
select @TotalNum=count(*) from people_register
select @TotalNum
此时@TotalNum=1是吗?
函数的测试输入如下:
pagesize=10
currpage=1
tablename=people_register
uniquefield=peopleid
where= --(一个空格不要输入)
orderby=order by convert(datetime, Register_Date) asc
totalnum= --(查询分析器里面调试的时候选择空值)people_register表的结构如下:CREATE TABLE [dbo].[People_Register] (
[peopleID] [int] IDENTITY (1, 1) NOT NULL ,
[name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[peopleGuid] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Register_Date] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[Register_PersonTel] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[Register_PersonName] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[cancelToNewPlace] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[cancleReason] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[cancleDate] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
CREATE PROCEDURE Select_Page
@PageSize int, --页面大小
@CurrPage int, --当前页号,从1开始
@TableName nvarchar(100), --表名
@UniqueField nvarchar(100), --一般为具有唯一值的关键字段,算法实现需要。注意:视该字段的类型需要适当修改代码。
@Where nvarchar(1000), --搜索条件,例子: where fileld=value
@OrderBy nvarchar(200), --排序字段,例子:order by name desc
@TotalNum int output --符合条件的记录总数
AS
declare @Previous int
declare @i int
declare @TopNum int
declare @StrSql nvarchar(2000)
declare @IdStr nvarchar(4000)
declare @StrSqlTotal nvarchar(2000)set @TopNum = @PageSize * @CurrPage
set @Previous = @TopNum - @PageSize
select @StrSql = N'select top ' + str(@TopNum) + ' @i= @i+1,@IdStr=case when @i>' + str(@Previous) + ' then @IdStr+ltrim(rtrim(str(' + @UniqueField + ')))+N'','' else N'''' end from ' + @TableName + ' ' + @Where + ' ' + @OrderBy
set @i = 0
set @IdStr = N''
exec sp_executesql @StrSql,N'@i int,@IdStr nvarchar(4000) output',@i,@IdStr output
--去掉最后一个分隔符
if len(rtrim(ltrim(@IdStr))) > 0
begin
select @IdStr = left(@IdStr,len(@IdStr)-1)
end
else
begin
select @IdStr = '1111111111'
end
select @StrSql = N'select * from ' + @TableName + N' where ' + @UniqueField + N' in ('+@IDStr+') ' + @OrderBy
--得到符合搜索条件的记录总数,只是得到总数,不需要order by
set @TotalNum = 0
set @StrSqlTotal = N'select @TotalNum=@TotalNum+1 from ' + @TableName + ' ' + @Where + ' ' + @OrderBy
exec sp_executesql @StrSqlTotal, N'@TotalNum int output',@TotalNum output
--返回符合条件的记录exec(@StrSql)
GO
第一句执行后
此时@TotalNum=1是吗?
exec Select_Page 10,1,'sysobjects','id',' ','order by id asc ',@TotalNum out
select 记录总数=@TotalNum/*--结果:
(所影响的行数为 10 行)记录总数
-----------
22(所影响的行数为 1 行)--*/
你一定要好好看看
----------------------A.只要執行一次(Start)-------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Select_Page]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop proc [dbo].[Select_Page]
goCREATE PROCEDURE Select_Page
@PageSize int, --頁面大小
@CurrPage int, --當前頁碼,從1開始
@TableName nvarchar(100), --表名
@UniqueField nvarchar(100), --一般為具有唯一值的關鍵字段,算法??需要。注意:視該字段的類型需要适當修改代碼。
@Where nvarchar(1000), --搜索條件,例子: where fileld=value
@OrderBy nvarchar(200), --排序字段,例子:order by name desc
@TotalNum int output --符合條件的記錄總數
AS
declare @Previous int
declare @i int
declare @TopNum int
declare @StrSql nvarchar(2000)
declare @IdStr nvarchar(4000)
declare @StrSqlTotal nvarchar(2000)set @TopNum = @PageSize * @CurrPage
set @Previous = @TopNum - @PageSize
select @StrSql = N'select top ' + str(@TopNum) + ' @i= @i+1,@IdStr=case when @i>' + str(@Previous) + ' then @IdStr+ltrim(rtrim(str(' + @UniqueField + ')))+N'','' else N'''' end from ' + @TableName + ' ' + @Where + ' ' + @OrderBy
set @i = 0
set @IdStr = N''
exec sp_executesql @StrSql,N'@i int,@IdStr nvarchar(4000) output',@i,@IdStr output
--去掉最后一個分隔符
if len(rtrim(ltrim(@IdStr))) > 0
begin
select @IdStr = left(@IdStr,len(@IdStr)-1)
end
else
begin
select @IdStr = '1111111111'
end
select @StrSql = N'select * from ' + @TableName + N' where ' + @UniqueField + N' in ('+@IDStr+') ' + @OrderBy
--得到符合搜索條件的記錄總數,只是得到總數,不需要order by
set @TotalNum = 0
set @StrSqlTotal = N'select @TotalNum=@TotalNum+1 from ' + @TableName + ' ' + @Where + ' ' + @OrderBy
exec sp_executesql @StrSqlTotal, N'@TotalNum int output',@TotalNum output
--返回符合條件的記錄exec(@StrSql)
GOif not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[People_Register]') and OBJECTPROPERTY(id, N'IsTable') = 1)
CREATE TABLE [dbo].[People_Register] (
[peopleID] [int] IDENTITY (1, 1) NOT NULL ,
[name] [nvarchar] (50) NULL ,
[peopleGuid] [nvarchar] (50) NOT NULL ,
[Register_Date] [nvarchar] (20) NULL ,
[Register_PersonTel] [nvarchar] (20) NULL ,
[Register_PersonName] [nvarchar] (10) NULL ,
[cancelToNewPlace] [nvarchar] (50) NULL ,
[cancleReason] [nvarchar] (100) NULL ,
[cancleDate] [nvarchar] (20) NULL
) ON [PRIMARY]
GO
-------測試數據-----------
--drop table People_Registerinsert into People_Register(name,peopleGuid,Register_Date,Register_PersonTel,Register_PersonName,cancelToNewPlace,cancleReason,cancleDate)
select '李一','1234567891','2004/1/1','6212661','wang1','001','AAA','2004/1/1' union all
select '李二','1234567892','2004/1/2','6212662','wang2','002','AAB','2004/1/2' union all
select '李三','1234567893','2004/1/3','6212663','wang3','003','AAC','2004/1/3' union all
select '李四','1234567894','2004/1/4','6212664','wang4','004','AAD','2004/1/4' union all
select '李五','1234567895','2004/1/5','6212665','wang5','005','AAE','2004/1/5' union all
select '李六','1234567896','2004/1/6','6212666','wang6','006','AAF','2004/1/6' union all
select '李七','1234567897','2004/1/7','6212667','wang7','007','AAG','2004/1/7' union all
select '李八','1234567898','2004/1/8','6212668','wang8','008','AAH','2004/1/8' union all
select '李九','1234567899','2004/1/9','6212669','want9','009','AAI', '2004/1/9' union all
select '李十','1234567910','2004/1/9','6212669','want9','009','AAI', '2004/1/9' union all
select '黃一','1234567881','2004/1/1','6212671','want1','001','AAA','2004/1/1' union all
select '黃二','1234567882','2004/1/2','6212672','want2','002','AAB','2004/1/2' union all
select '黃三','1234567883','2004/1/3','6212673','want3','003','AAC','2004/1/3' union all
select '黃四','1234567884','2004/1/4','6212674','want4','004','AAD','2004/1/4' union all
select '黃五','1234567885','2004/1/5','6212675','want5','005','AAE','2004/1/5' union all
select '黃六','1234567886','2004/1/6','6212676','want6','006','AAF','2004/1/6' union all
select '黃七','1234567887','2004/1/7','6212677','want7','007','AAG','2004/1/7' union all
select '黃八','1234567888','2004/1/8','6212678','want8','008','AAH','2004/1/8' union all
select '黃九','1234567889','2004/1/9','6212679','want9','009','AAI', '2004/1/9' union all
select '黃十','1234567110','2004/1/9','6212679','want9','009','AAI', '2004/1/9' union all
select '黃軍','1234567111','2004/1/9','6212679','want9','009','AAI', '2004/1/9' union all
select '張一','1234567861','2004/1/1','6212661','zhang1','001','AAA','2004/1/1' union all
select '張二','1234567862','2004/1/2','6212662','zhang2','002','AAB','2004/1/2' union all
select '張三','1234567863','2004/1/3','6212663','zhang3','003','AAC','2004/1/3' union all
select '張四','1234567864','2004/1/4','6212664','zhang4','004','AAD','2004/1/4' union all
select '張五','1234567865','2004/1/5','6212665','zhang5','005','AAE','2004/1/5' union all
select '張六','1234567866','2004/1/6','6212666','zhang6','006','AAF','2004/1/6' union all
select '張七','1234567867','2004/1/7','6212667','zhang7','007','AAG','2004/1/7' union all
select '張八','1234567868','2004/1/8','6212668','zhang8','008','AAH','2004/1/8' union all
select '張九','1234567869','2004/1/9','6212669','zhang9','009','AAI', '2004/1/9'
-----------------------下列為測試數據--------------------
select * from People_Register
/*
peopleID name peopleGuid Register_Date Register_PersonTel Register_PersonName cancelToNewPlace cancleReason cancleDate
1 李一 1234567891 2004/1/1 6212661 wang1 001 AAA 2004/1/1
2 李二 1234567892 2004/1/2 6212662 wang2 002 AAB 2004/1/2
3 李三 1234567893 2004/1/3 6212663 wang3 003 AAC 2004/1/3
4 李四 1234567894 2004/1/4 6212664 wang4 004 AAD 2004/1/4
5 李五 1234567895 2004/1/5 6212665 wang5 005 AAE 2004/1/5
6 李六 1234567896 2004/1/6 6212666 wang6 006 AAF 2004/1/6
7 李七 1234567897 2004/1/7 6212667 wang7 007 AAG 2004/1/7
8 李八 1234567898 2004/1/8 6212668 wang8 008 AAH 2004/1/8
9 李九 1234567899 2004/1/9 6212669 want9 009 AAI 2004/1/9
10 李十 1234567910 2004/1/9 6212669 want9 009 AAI 2004/1/9
11 黃一 1234567881 2004/1/1 6212671 want1 001 AAA 2004/1/1
12 黃二 1234567882 2004/1/2 6212672 want2 002 AAB 2004/1/2
13 黃三 1234567883 2004/1/3 6212673 want3 003 AAC 2004/1/3
14 黃四 1234567884 2004/1/4 6212674 want4 004 AAD 2004/1/4
15 黃五 1234567885 2004/1/5 6212675 want5 005 AAE 2004/1/5
16 黃六 1234567886 2004/1/6 6212676 want6 006 AAF 2004/1/6
17 黃七 1234567887 2004/1/7 6212677 want7 007 AAG 2004/1/7
18 黃八 1234567888 2004/1/8 6212678 want8 008 AAH 2004/1/8
19 黃九 1234567889 2004/1/9 6212679 want9 009 AAI 2004/1/9
20 黃十 1234567110 2004/1/9 6212679 want9 009 AAI 2004/1/9
21 黃軍 1234567111 2004/1/9 6212679 want9 009 AAI 2004/1/9
22 張一 1234567861 2004/1/1 6212661 zhang1 001 AAA 2004/1/1
23 張二 1234567862 2004/1/2 6212662 zhang2 002 AAB 2004/1/2
24 張三 1234567863 2004/1/3 6212663 zhang3 003 AAC 2004/1/3
25 張四 1234567864 2004/1/4 6212664 zhang4 004 AAD 2004/1/4
26 張五 1234567865 2004/1/5 6212665 zhang5 005 AAE 2004/1/5
27 張六 1234567866 2004/1/6 6212666 zhang6 006 AAF 2004/1/6
28 張七 1234567867 2004/1/7 6212667 zhang7 007 AAG 2004/1/7
29 張八 1234567868 2004/1/8 6212668 zhang8 008 AAH 2004/1/8
30 張九 1234567869 2004/1/9 6212669 zhang9 009 AAI 2004/1/9*/
----------------------A.只要執行一次(End)-------------------------
declare @PageSize int, ---頁面大小
@CurrPage int, --當前頁號,從1開始
@TableName nvarchar(100), --表名
@UniqueField nvarchar(100), --一般為具有唯一值的關鍵字段,算法實現需要。注意:視該字段的類型需要适當修改代碼。
@Where nvarchar(1000), --搜索條,例子: where fileld=value
@OrderBy nvarchar(200), --排序字段,例子:order by name desc
@TotalNum int --符合条件的记录总数 select @PageSize=10, --頁面大小
@CurrPage=1, --當前頁號,從1開始
@TableName='people_register', --表名
@UniqueField='peopleID', --一般為具有唯一值的關鍵字段,算法實現需要。注意:視該字段的類型需要适當修改代碼。
@Where=' ', --搜索條件,例子: where fileld=value
@OrderBy=' order by convert(datetime, Register_Date) asc ' --排序字段,例子:order by name descexec Select_Page
@PageSize, --頁面大小
@CurrPage, --當前頁號,從1開始
@TableName, --表名
@UniqueField, --一般為具有唯一值的關鍵字段,算法實現需要。注意:視該字段的類型需要适當修改代碼。
@Where, --搜索條件,例子: where fileld=value
@OrderBy, --排序字段,例子:order by name desc
@TotalNum output --符合条件的记录总数
----------沒有記錄-------------
--結果錯誤
/*
peopleID name peopleGuid Register_Date Register_PersonTel Register_PersonName cancelToNewPlace cancleReason cancleDate
*/select @TotalNum as 記錄數
--結果錯誤
/*
記錄數
1
*/select * from people_register order by convert(datetime, Register_Date) asc
go
/*
peopleID name peopleGuid Register_Date Register_PersonTel Register_PersonName cancelToNewPlace cancleReason cancleDate
1 李一 1234567891 2004/1/1 6212661 wang1 001 AAA 2004/1/1
11 黃一 1234567881 2004/1/1 6212671 want1 001 AAA 2004/1/1
22 張一 1234567861 2004/1/1 6212661 zhang1 001 AAA 2004/1/1
23 張二 1234567862 2004/1/2 6212662 zhang2 002 AAB 2004/1/2
12 黃二 1234567882 2004/1/2 6212672 want2 002 AAB 2004/1/2
2 李二 1234567892 2004/1/2 6212662 wang2 002 AAB 2004/1/2
3 李三 1234567893 2004/1/3 6212663 wang3 003 AAC 2004/1/3
13 黃三 1234567883 2004/1/3 6212673 want3 003 AAC 2004/1/3
24 張三 1234567863 2004/1/3 6212663 zhang3 003 AAC 2004/1/3
25 張四 1234567864 2004/1/4 6212664 zhang4 004 AAD 2004/1/4
14 黃四 1234567884 2004/1/4 6212674 want4 004 AAD 2004/1/4
4 李四 1234567894 2004/1/4 6212664 wang4 004 AAD 2004/1/4
5 李五 1234567895 2004/1/5 6212665 wang5 005 AAE 2004/1/5
15 黃五 1234567885 2004/1/5 6212675 want5 005 AAE 2004/1/5
26 張五 1234567865 2004/1/5 6212665 zhang5 005 AAE 2004/1/5
27 張六 1234567866 2004/1/6 6212666 zhang6 006 AAF 2004/1/6
16 黃六 1234567886 2004/1/6 6212676 want6 006 AAF 2004/1/6
6 李六 1234567896 2004/1/6 6212666 wang6 006 AAF 2004/1/6
7 李七 1234567897 2004/1/7 6212667 wang7 007 AAG 2004/1/7
28 張七 1234567867 2004/1/7 6212667 zhang7 007 AAG 2004/1/7
17 黃七 1234567887 2004/1/7 6212677 want7 007 AAG 2004/1/7
18 黃八 1234567888 2004/1/8 6212678 want8 008 AAH 2004/1/8
29 張八 1234567868 2004/1/8 6212668 zhang8 008 AAH 2004/1/8
8 李八 1234567898 2004/1/8 6212668 wang8 008 AAH 2004/1/8
9 李九 1234567899 2004/1/9 6212669 want9 009 AAI 2004/1/9
10 李十 1234567910 2004/1/9 6212669 want9 009 AAI 2004/1/9
30 張九 1234567869 2004/1/9 6212669 zhang9 009 AAI 2004/1/9
19 黃九 1234567889 2004/1/9 6212679 want9 009 AAI 2004/1/9
20 黃十 1234567110 2004/1/9 6212679 want9 009 AAI 2004/1/9
21 黃軍 1234567111 2004/1/9 6212679 want9 009 AAI 2004/1/9
*/
----------------------B.查詢語句(End)-----------------------------------------------C.原因分析(Start)-------------------------
-------******分析*******************------
--(問題出在@OrderBy=' order by convert(datetime, Register_Date) asc',如果把@OrderBy條件改為@OrderBy='order by Register_Date asc',就沒有問題,
--因為sql在處理select語句,如果語句中含有變量賦值,且指定order by 子句(轉換列會有問題)
--a.沒有轉換列Register_Date
--結果正確---
declare @i int
set @i=0
select top 10 @i=@i+1 from people_register order by Register_Date
select 記錄數=@i
go
/*
記錄數
10
*/--b.有轉換列Register_Date(轉換列會有問題)
--結果錯誤---
declare @i int
set @i=0
select top 10 @i=@i+1 from people_register order by cast(Register_Date as varchar)
select 記錄數=@i
go
/*
記錄數
1
*/----------------------C.原因分析(End)-------------------------
---a.修改調用方式,可能不是想要的結果(s)-------
declare @PageSize int, ---頁面大小
@CurrPage int, --當前頁號,從1開始
@TableName nvarchar(100), --表名
@UniqueField nvarchar(100), --一般為具有唯一值的關鍵字段,算法實現需要。注意:視該字段的類型需要适當修改代碼。
@Where nvarchar(1000), --搜索條,例子: where fileld=value
@OrderBy nvarchar(200), --排序字段,例子:order by name desc
@TotalNum int --符合条件的记录总数 select @PageSize=10, --頁面大小
@CurrPage=1, --當前頁號,從1開始
@TableName='people_register', --表名
@UniqueField='peopleID', --一般為具有唯一值的關鍵字段,算法實現需要。注意:視該字段的類型需要适當修改代碼。
@Where=' ', --搜索條件,例子: where fileld=value
--@OrderBy=' order by convert(datetime, Register_Date) asc ' --排序字段,例子:order by name desc
@OrderBy=' order by Register_Date asc ' --排序字段,例子:order by name descexec Select_Page
@PageSize, --頁面大小
@CurrPage, --當前頁號,從1開始
@TableName, --表名
@UniqueField, --一般為具有唯一值的關鍵字段,算法實現需要。注意:視該字段的類型需要适當修改代碼。
@Where, --搜索條件,例子: where fileld=value
@OrderBy, --排序字段,例子:order by name desc
@TotalNum output --符合条件的记录总数
/*
peopleID name peopleGuid Register_Date Register_PersonTel Register_PersonName cancelToNewPlace cancleReason cancleDate
1 李一 1234567891 2004/1/1 6212661 wang1 001 AAA 2004/1/1
11 黃一 1234567881 2004/1/1 6212671 want1 001 AAA 2004/1/1
22 張一 1234567861 2004/1/1 6212661 zhang1 001 AAA 2004/1/1
12 黃二 1234567882 2004/1/2 6212672 want2 002 AAB 2004/1/2
2 李二 1234567892 2004/1/2 6212662 wang2 002 AAB 2004/1/2
23 張二 1234567862 2004/1/2 6212662 zhang2 002 AAB 2004/1/2
24 張三 1234567863 2004/1/3 6212663 zhang3 003 AAC 2004/1/3
3 李三 1234567893 2004/1/3 6212663 wang3 003 AAC 2004/1/3
13 黃三 1234567883 2004/1/3 6212673 want3 003 AAC 2004/1/3
4 李四 1234567894 2004/1/4 6212664 wang4 004 AAD 2004/1/4
*/
select @TotalNum as 記錄數
go
---------結果正確----------------
/*
記錄數
30
*/
---a.修改調用方式,可能不是想要的結果(e)----------b.修改存儲過程(s)-------if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Select_Page]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop proc [dbo].[Select_Page]
goCREATE PROCEDURE Select_Page
@PageSize int, --頁面大小
@CurrPage int, --當前頁碼,從1開始
@TableName nvarchar(100), --表名
@UniqueField nvarchar(100), --一般為具有唯一值的關鍵字段,算法??需要。注意:視該字段的類型需要适當修改代碼。
@Where nvarchar(1000), --搜索條件,例子: where fileld=value
@OrderBy nvarchar(200), --排序字段,例子:order by name desc
@TotalNum int output --符合條件的記錄總數
AS
declare @Previous int
declare @i int
declare @TopNum int
declare @StrSql nvarchar(2000)
declare @IdStr nvarchar(4000)
declare @StrSqlTotal nvarchar(2000)set @TopNum = @PageSize * @CurrPage
set @Previous = @TopNum - @PageSize
--select @StrSql = N'select top ' + str(@TopNum) + ' @i= @i+1,@IdStr=case when @i>' + str(@Previous) + ' then @IdStr+ltrim(rtrim(str(' + @UniqueField + ')))+N'','' else N'''' end from ' + @TableName + ' ' + @Where + ' ' + @OrderByselect @StrSql = N'select a.* from
(
select top '+str(@TopNum)+' * from ' + @TableName + ' ' + @Where+' '+@OrderBy+
') a left join
(
select top '+str(@Previous)+@UniqueField+' from ' + @TableName + ' ' + @Where+' '+@OrderBy+
') b on a.'+@UniqueField+'=b.'+@UniqueField+' where b.'+@UniqueField+' is null'--得到符合搜索條件的記錄總數,只是得到總數,不需要order by
set @TotalNum = 0
set @StrSqlTotal = N'select @TotalNum=@TotalNum+1 from ' + @TableName + ' ' + @Where
exec sp_executesql @StrSqlTotal, N'@TotalNum int output',@TotalNum output
--返回符合條件的記錄exec(@StrSql)
GO---b.修改存儲過程(e)---------調用實例(s)----declare @PageSize int, ---頁面大小
@CurrPage int, --當前頁號,從1開始
@TableName nvarchar(100), --表名
@UniqueField nvarchar(100), --一般為具有唯一值的關鍵字段,算法實現需要。注意:視該字段的類型需要适當修改代碼。
@Where nvarchar(1000), --搜索條,例子: where fileld=value
@OrderBy nvarchar(200), --排序字段,例子:order by name desc
@TotalNum int --符合条件的记录总数 select @PageSize=10, --頁面大小
@CurrPage=1, --當前頁號,從1開始
@TableName='people_register', --表名
@UniqueField='peopleID', --一般為具有唯一值的關鍵字段,算法實現需要。注意:視該字段的類型需要适當修改代碼。
@Where=' ', --搜索條件,例子: where fileld=value
@OrderBy=' order by convert(datetime, Register_Date) asc ' --排序字段,例子:order by name descexec Select_Page
@PageSize, --頁面大小
@CurrPage, --當前頁號,從1開始
@TableName, --表名
@UniqueField, --一般為具有唯一值的關鍵字段,算法實現需要。注意:視該字段的類型需要适當修改代碼。
@Where, --搜索條件,例子: where fileld=value
@OrderBy, --排序字段,例子:order by name desc
@TotalNum output --符合条件的记录总数----------沒有記錄-------------
--結果正確
/*
peopleID name peopleGuid Register_Date Register_PersonTel Register_PersonName cancelToNewPlace cancleReason cancleDate
11 黃一 1234567881 2004/1/1 6212671 want1 001 AAA 2004/1/1
1 李一 1234567891 2004/1/1 6212661 wang1 001 AAA 2004/1/1
22 張一 1234567861 2004/1/1 6212661 zhang1 001 AAA 2004/1/1
2 李二 1234567892 2004/1/2 6212662 wang2 002 AAB 2004/1/2
12 黃二 1234567882 2004/1/2 6212672 want2 002 AAB 2004/1/2
23 張二 1234567862 2004/1/2 6212662 zhang2 002 AAB 2004/1/2
3 李三 1234567893 2004/1/3 6212663 wang3 003 AAC 2004/1/3
13 黃三 1234567883 2004/1/3 6212673 want3 003 AAC 2004/1/3
24 張三 1234567863 2004/1/3 6212663 zhang3 003 AAC 2004/1/3
4 李四 1234567894 2004/1/4 6212664 wang4 004 AAD 2004/1/4
*/
select @TotalNum as 記錄數
--結果正確
/*
記錄數
30
*/--調用實例(e)--------------------------D.解決方法(End)-------------------------