@count是传入得参数
这里不让保存,错误提示是:'count *'附近由语法错误.
这里的@count我想设置为自己可以输入的参数,所以请不要说把'count *'改成一个具体数字就可以之类的, 请高手赐教.
CREATE PROCEDURE dbo.GetTopNews
(
@newsKindID int,
@count int
)
AS
select top count * from tb_News where newsKindID=@newsKindID
RETURN
这里不让保存,错误提示是:'count *'附近由语法错误.
这里的@count我想设置为自己可以输入的参数,所以请不要说把'count *'改成一个具体数字就可以之类的, 请高手赐教.
CREATE PROCEDURE dbo.GetTopNews
(
@newsKindID int,
@count int
)
AS
select top count * from tb_News where newsKindID=@newsKindID
RETURN
(
@newsKindID int,
@count int
)
AS
Begin
Declare @S Varchar(8000)
Select @S = ' select top ' + Cast(@count As Varchar) +' * from tb_News where newsKindID=' + Cast(newsKindID As Varchar)
EXEC(@S)
RETURN
End
GO
(
@newsKindID int,
@count int
)
AS
Begin
SET ROWCOUNT @count
select * from tb_News where newsKindID=@newsKindID
RETURN
End
GO
(
@newsKindID int,
@count int
)
AS
Begin
SET ROWCOUNT @count
select * from tb_News where newsKindID=@newsKindID
RETURN
End
GO是可以保存,但select * from tb_News where newsKindID=@newsKindID中没有涉及到 @count,总感觉不对
请再详细赐教
CREATE PROCEDURE dbo.GetTopNews
(
@newsKindID int,
@count int
)
AS
Begin
SET ROWCOUNT @count
select * from tb_News where newsKindID=@newsKindID
RETURN
End
GO是可以保存,但select * from tb_News where newsKindID=@newsKindID中没有涉及到 @count,总感觉不对
请再详细赐教
-----------注意上面的
SET ROWCOUNT @count這個限制了顯示的行數的。你可以測試下。
是想把tb_News 中的前@count行的信息查询出来,然后要绑定
难道不能 top @count 用吗?
---------
MS SQL 2000裡面不可以。如果你要top @count ,就要和我開始寫的那個一樣,使用動態SQL 語句。
没成功CREATE PROCEDURE dbo.GetTopNews
(
@newsKindID int,
@count int
)
AS
Begin
Declare @S Varchar(8000)
Select @S = ' select top ' + Cast(@count As Varchar) +' * from tb_News where newsKindID=' + Cast(newsKindID As Varchar)
EXEC(@S)
RETURN
End
GO
可以用,谢谢2位
非常感谢