2011-02-23 93 views
0

我想編寫示例過程來計算特定表中存在的記錄,這裏我將從文本文件中獲取表名稱。 佛羅里達州我只是寫示例程序從文本文件中獲取th表名稱和存儲在電錶中,但是當我分配和傳遞表名稱我無法做到這一點可以任何人建議如何做到這一點,簡單的例子如何在T-SQL中動態地傳遞表名稱

+0

這不是你應該在T-SQL中做的事情。如果你想組裝查詢,你應該在中間層組件中完成。 – Thomas 2011-02-23 06:34:30

回答

2

您可以使用表名參數構建動態sql,並使用EXEC執行它,如下所示。

Create procedure Proc1 
@TableName varchar(MAX) 
as 
.. 
... 
DECLARE @sqltxt varchar(1000) 
select @sqltxt = 'select count(*) from ' + quotename(@TableName) 
exec (@sqltxt) 
... 
... 
+1

如果你打算這樣做,你應該使用'Quotename':'Set @sqltxt ='Select ... From'+ Quotename(@TableName)'。 – Thomas 2011-02-23 06:35:31

+0

exec(@sql)應該是exec(@sqltxt) – Kashif 2011-02-23 06:36:03

+0

@Muhammad - 更正了我的答案 – 2011-02-23 06:56:40

相關問題