存储过程接收表名?

hero 2000-07-04 01:06:00
我听说存储过程中可以接收数据库表的名称,但我简单的写成
select * from @tableName
汇报错误,请高手指教!
...全文
181 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pjy 2000-07-27
  • 打赏
  • 举报
回复
使用Axiong的方法!可以!
hero 2000-07-06
  • 打赏
  • 举报
回复
谢谢大家!
不过trybird,你的方法我试过了,好象不行耶?
LaoZheng 2000-07-05
  • 打赏
  • 举报
回复
Axiong的方法Ok
xtjack 2000-07-05
  • 打赏
  • 举报
回复
也可以这样:
creat produce Jg @tablename varchar(30) as
declare @csql char(100)
select @csql="select * from "+@tablename
execute(@csql)
Axiong 2000-07-05
  • 打赏
  • 举报
回复
creat produce Jg @tablename varchar(30) as
exec("select * from "+@tablename+"")
trybird 2000-07-04
  • 打赏
  • 举报
回复
ghj1976的方法也不错!
trybird 2000-07-04
  • 打赏
  • 举报
回复
creat produce pro_test
(@tablename varchar(30))
as
select * from [@tablename]

然后在查询分析器里试验执行——
pro_test 表名

exec pro_test 表名
就会正确返回你要查询的表的结果集!

同理,列名(字段)作参数,也要外加 [],将其括住!
蝈蝈俊 2000-07-04
  • 打赏
  • 举报
回复


creat produce Jg @tablename varchar(30) as
exec("select * from @tablename")

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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