我想创建一些动态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