有沒有辦法在一個字符串發送到T-SQL的功能和使用字符串作爲「表」發送串入功能和使用字符串作爲「表」
例如
CREATE FUNCTION [dbo].[TEST] (@id int, **@table_name** nvarchar(50))
RETURNS @mytables TABLE
(
id int,
values nvarchar(50)
)
AS
BEGIN
INSERT @mytables
SELECT id, values FROM **@table_name**
RETURN
END
沒有該SP,你不能直接這樣做 - 如果你需要參數化的表和/或列名,則必須求助於使用*動態SQL * - 沒有其他辦法可以做到它 –
我的意思是,我可以在這個函數內使用另一個函數,或者不管它是什麼。我只想知道它是否可以完成以及如何:) – Joe
Plus:SQL Server **中的**函數**不能**對數據庫有任何副作用,例如:你**不能**插入,更新或刪除函數內的數據行。請參閱[CREATE FUNCTION - 「限制和限制」一節](http://msdn.microsoft.com/zh-cn/library/ms186755.aspx):*用戶定義的函數不能用於執行修改數據庫狀態的操作。* –