简单SQL存储过程帮忙~~~

yujun366 2006-03-13 09:48:05
请问以下存储过程错在哪呢?是不是 TOP 后面的参数不能通过外面传递进来来确定的?谢谢

CREATE PROCEDURE [UsersList]
(@RowsToSkip int)
AS
SELECT TOP 40
[dbo].[Users].[UID], [dbo].[Users].[ULoginName],
[dbo].[Users].[UPower], [dbo].[Users].[UName],
[dbo].[Users].[UTel], [dbo].[Users].[UDepartment]
FROM [dbo].[Users]
WHERE [dbo].[Users].[UID] NOT IN
(SELECT TOP @RowsToSkip
[dbo].[Users].[UID]
FROM [dbo].[Users]
ORDER BY [dbo].[Users].[UID])
ORDER BY [dbo].[Users].[UID]
...全文
113 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yujun366 2006-03-13
  • 打赏
  • 举报
回复
谢谢楼上各位,我去试试!
xeqtr1982 2006-03-13
  • 打赏
  • 举报
回复
CREATE PROCEDURE [UsersList]
(@RowsToSkip int)
AS

declare @sql varchar(8000)
set @sql=
'SELECT TOP 40
[dbo].[Users].[UID], [dbo].[Users].[ULoginName],
[dbo].[Users].[UPower], [dbo].[Users].[UName],
[dbo].[Users].[UTel], [dbo].[Users].[UDepartment]
FROM [dbo].[Users]
WHERE [dbo].[Users].[UID] NOT IN
(SELECT TOP ' +cast(@RowsToSkip as varchar)+'
[dbo].[Users].[UID]
FROM [dbo].[Users]
ORDER BY [dbo].[Users].[UID])
ORDER BY [dbo].[Users].[UID]'
exec(@sql)
xeqtr1982 2006-03-13
  • 打赏
  • 举报
回复
老大好快:)
xeqtr1982 2006-03-13
  • 打赏
  • 举报
回复
CREATE PROCEDURE [UsersList]
(@RowsToSkip int)
AS

declare @sql varchar(8000)
set @sql=
'SELECT TOP 40
[dbo].[Users].[UID], [dbo].[Users].[ULoginName],
[dbo].[Users].[UPower], [dbo].[Users].[UName],
[dbo].[Users].[UTel], [dbo].[Users].[UDepartment]
FROM [dbo].[Users]
WHERE [dbo].[Users].[UID] NOT IN
(SELECT TOP ' +cast(@RowsToSkip as varchar)+'
[dbo].[Users].[UID]
FROM [dbo].[Users]
ORDER BY [dbo].[Users].[UID])
ORDER BY [dbo].[Users].[UID])'
select @sql
exec(@sql)
zjcxc 2006-03-13
  • 打赏
  • 举报
回复
CREATE PROCEDURE [UsersList]
(@RowsToSkip int)
AS
exec(' SELECT TOP 40
[dbo].[Users].[UID], [dbo].[Users].[ULoginName],
[dbo].[Users].[UPower], [dbo].[Users].[UName],
[dbo].[Users].[UTel], [dbo].[Users].[UDepartment]
FROM [dbo].[Users]
WHERE [dbo].[Users].[UID] NOT IN
(SELECT TOP '+@RowsToSkip+'
[dbo].[Users].[UID]
FROM [dbo].[Users]
ORDER BY [dbo].[Users].[UID])
ORDER BY [dbo].[Users].[UID]
')
zjcxc 2006-03-13
  • 打赏
  • 举报
回复
2005才支持参数使用变量, 2000及以下的版本都不会

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧