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
以外还有其他选项吗?
答案 0 :(得分:0)
如果您有特定的表格集,则可以传递参数并使用" if-else"条件,哪个表将用于选择:
伪:
IF @TableName = 'TableA'
BEGIN
SELECT * FROM TableA WHERE ....
END
ELSE IF @TableName = 'TableB'
BEIN
SELECT * FROM TableA WHERE ....
END