如何在sp中查询查询子句中的参数?

时间:2012-08-22 07:35:12

标签: sql

Select * from table1 where name = 'sam'

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

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

我知道,需要在查询中使用sp_executesqland使用'+@table+'。除sp_executesql以外还有其他选项吗?

1 个答案:

答案 0 :(得分:0)

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

伪:

IF @TableName = 'TableA'
BEGIN
    SELECT * FROM TableA WHERE ....
END
ELSE IF @TableName = 'TableB'
BEIN
    SELECT * FROM TableA WHERE ....
END