2009-07-24 40 views

回答

3

是這樣的?

DECLARE @MySQL nvarchar(MAX) 
SELECT @MySql = SqlColumn FROM MyTable WHERE MyId = 1 
EXEC(@MySql) 
2

在這裏你去,用sp_executesql的

DECLARE @MySQL NVARCHAR(MAX) 
SELECT @MySQL = 'select top 1 * from Information_schema.tables' 
EXEC sp_executeSQL @MySQL 

編輯: 對於一個偉大的閱讀,有的稱之爲明確的指導與動態T-SQL是指工作文章:

The Curse and Blessings of Dynamic SQL

1

只是爲了增加Robin的答案。重要的是確保你確保你在這個領域能夠抵禦惡意SQL - 你不會說聲明如何進入數據庫,但是你需要非常小心,不要讓不好的SQL進入(例如不希望你的數據被流氓聲明刪除)!