我想創建一些動態DDL來構建一個函數,當我運行它時,它不斷給我一個錯誤。我不知道我在做什麼錯誤的格式....我嘗試了很多不同的東西,現在它只是出於好奇,我想了解如何使其工作。任何輸入是不勝感激。動態函數問題
CODE:
DECLARE @SQL nvarchar(max) =
'ALTER FUNCTION dbo.GetFiscalDate()
RETURNS DATETIME
AS
BEGIN
DECLARE @RESULT DATETIME
SELECT @RESULT = @FY
RETURN @RESULT;
END'
,@FY datetime = '01/01/2016'
,@ParamDef nvarchar(50) = N'@FY datetime'
exec sp_executesql @SQL,@ParamDef,@FY
給了我這個錯誤:
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'FUNCTION'.
Msg 178, Level 15, State 1, Line 7
A RETURN statement with a return value cannot be used in this context.
本守則但是...作品:
DECLARE
@FY nvarchar(10) = '01/01/2015'
,@SQL nvarchar(max)
Select @SQL =
'ALTER FUNCTION dbo.GetFiscalDate()
RETURNS DATETIME
AS
BEGIN
DECLARE @RESULT DATETIME
SELECT @RESULT = ' + @FY + '
RETURN @RESULT;
END'
exec sp_executesql @SQL
時,我想這與我在想什麼傳遞參數而不是將它們與聲明連接起來?
像往常一樣,我非常感謝所有的輸入。
感謝,
小號
甜美感謝您的輸入! – scarpacci 2010-08-05 16:23:06