抱拳求助----SQL表变量问题

datahandler2 2007-10-30 02:13:29
我的程序中想用到一个存储过程:
CREATE PROCEDURE dbo.bindDisView
(
@str_Filter nvarchar(300),          --其他传进来的查询条件
@TableName varchar(50)    --已存在数据库中建好的表名,由外部用户自己控制传进来
)
as
SET NOCOUNT ON;

exec
('
SELECT *
FROM @TableName
where 1=1'+ @str_Filter +'
order by AddDate Desc

')

------------
在.net Sqlcmd运行中明明我传递了一个表名进来,去老是抛出异常: 表变量@TableName必须声明。
我百度也找了很多,其中有的用declare 用SQL语句动态生成一张表然后再用,但我这个不想那样,大家说有好的
解决方法吗?我就需要一个简单的传表名告诉SQL说往哪张表查数据就可以了
...全文
131 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
datahandler2 2007-11-07
  • 打赏
  • 举报
回复
谢谢,问题,已经自己解决了,原因是那个Exec里面我少了个'符号,所以弄不成功.不过还是谢谢上面的各位帮忙
我去呀 2007-10-31
  • 打赏
  • 举报
回复
1楼正解,我也这样认为
kofkyo 2007-10-30
  • 打赏
  • 举报
回复
1楼正解
既然@TableName是参数,也应该用连接方式
netnpc 2007-10-30
  • 打赏
  • 举报
回复
楼上正解吧
wuxing2006 2007-10-30
  • 打赏
  • 举报
回复
CREATE PROCEDURE dbo.bindDisView
(
@str_Filter nvarchar(300),          --其他传进来的查询条件
@TableName varchar(50)    --已存在数据库中建好的表名,由外部用户自己控制传进来
)
as
SET NOCOUNT ON;

exec
( '
SELECT *
FROM ' + @TableName + '
where 1=1 '+ @str_Filter + '
order by AddDate Desc

')

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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