2011-08-11 33 views
0

對於許多查詢,我只能使用一個存儲過程嗎?SQL Server中的存儲過程

像這樣:

SELECT @var_name[0] from @table_name WHERE @con1 = @var_name[1] ; 
+0

**爲什麼?!?**一個好的存儲過程應該像任何代碼片段一樣專注於一個明確定義的任務。如果你有10個不同的任務 - 爲什麼要把所有東西都壓縮成一個單一的程序根本沒有任何意義 - 從可維護性的角度來看,這些根據輸入參數做各種不同事情的「全能」程序是一場完全的噩夢。 **不要這樣做!**別想這個...... –

+0

感謝您的反饋。 – thinzar

回答

2

你不能做到這一點。你可以用一些dyamically構建查詢像

EXEC('SELECT ' + @var_name + ' FROM ' + @table_name + ' WHERE ' + @Con1 + ' = ' + @var_name) 

這樣做雖然時,要注意潛在的性能和SQL注入的問題。