0
Select * from table1 where name = 'sam'

这里name = 'sam'是静态部分。动态部分是表名。如何将表名作为输入参数传递给 sp。

Create Procedure Proc_sp1
(
 @table varchar(10)
)
as
 Select * from @table where name = 'sam'

我知道,需要在查询中使用sp_executesqlanduse 。'+@table+'除了 有什么选择sp_executesql吗?

4

1 回答 1

0

如果您有特定的表集,则可以传递参数并使用“if-else”条件,该表将用于选择:

伪:

IF @TableName = 'TableA'
BEGIN
    SELECT * FROM TableA WHERE ....
END
ELSE IF @TableName = 'TableB'
BEIN
    SELECT * FROM TableA WHERE ....
END
于 2012-08-22T07:57:09.587 回答