0
Select * from table1 where name = 'sam'

ここname = 'sam'は静的部分です。動的部分はテーブル名です。tablename を入力パラメータとして sp に渡すにはどうすればよいですか。

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

sp_executesqlanduse '+@table+'in queryを使用する必要があることはわかっています。以外のオプションはあります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 に答える