【发布时间】:2017-02-16 14:55:23
【问题描述】:
我有一个 MSSQL 存储过程如下:
ALTER procedure [dbo].[GetDataFromTable]
(
@rowval varchar(50),
@tablename varchar(50),
@oby varchar(50)
)
as
begin
EXEC('Select top (' + @rowval + ') * from '+@tablename+ 'ORDER BY '+@oby+' DESC')
end
在执行时,它会给出以下错误: 消息 156,第 15 级,状态 1,第 1 行 关键字“BY”附近的语法不正确。 我也尝试了以下,仍然是同样的错误:
ALTER procedure [dbo].[GetDataFromTable]
(
@rowval varchar(50),
@tablename varchar(50),
@oby varchar(50)
)
as
begin
EXEC('Select top (' + @rowval + ') * from '+@tablename+ 'ORDER BY sno DESC')
end
注意:@rowval 表示要获取的行数,@tablename 表示表的名称,@oby 表示应根据哪个列进行排序。 注意:我在前端使用带有 C# 的 ASP.Net 来触发此过程,并在后端使用 MSSQL 2008 R2 Express Edition
【问题讨论】:
标签: c# asp.net sql-server sql-server-2008 sql-server-2008-r2