请问返回数据库n条最近的数据的存储过程如何写
这样写为何不行。
CREATE PROCEDURE sp_GetNewsList
@n int
AS
SELECT TOP @n FROM mytable ORDER BY time DESC
同意楼上!
CREATE PROCEDURE sp_GetNewsList
@n int
AS
Exec (SELECT TOP + cast(@n as varchar) + * FROM mytable ORDER BY time DESC )
CREATE PROCEDURE sp_GetNewsList(@n int)
AS
exec (SELECT TOP +@n+ * FROM mytable ORDER BY time DESC)
动态组成的SQL语句必须用exec才能成功执行
这样只能取到一务记录
sql是不会检查这种错误的。。。
不信试试下面的不就可以了。。。
CREATE PROCEDURE sp_GetNewsList
@n int
AS
Exec (SELECT TOP + cast(@n as varchar) + * FROM mytable ORDER BY time DESC )