能否将表名作为参数传入存储过程处理查询?

Jazzyh 2004-04-08 07:04:39
能否将表名作为参数传入存储过程处理查询,
当使用此存储过程的程序很多时,
是否会造成太多多线程或多进程的问题,以至造成系统出错或崩溃?
请高手指教.
...全文
78 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chengulv 2004-04-10
  • 打赏
  • 举报
回复
看下面的存储过程:

IF EXISTS (SELECT name
FROM sysobjects
WHERE name = N'proc_test'
AND type = 'P')
DROP PROCEDURE proc_test
GO

CREATE PROCEDURE proc_test
@TableName varchar(100)
AS
SELECT * from @TableName
GO


EXECUTE proc_test 'Test_TableName'
GO

烤火的鱼 2004-04-10
  • 打赏
  • 举报
回复
先组合成标准的sql语句,然后exec(@strSql)
xyq407 2004-04-08
  • 打赏
  • 举报
回复
可以:
先把它拼成子符串,然后用exec()执行

例:
exec('select * from '+@s_tablename)

mfjun007 2004-04-08
  • 打赏
  • 举报
回复
可以
progress99 2004-04-08
  • 打赏
  • 举报
回复
create proc p1 @table sysname
as
exec('select * from '+@table )
go
ghostzxp 2004-04-08
  • 打赏
  • 举报
回复
可以啊,和字符窜同样处理

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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