存储过程中的动态sql

时间:2013-04-15 16:49:32

标签: stored-procedures sql-server-2008-r2 dynamic-sql

我遇到了创建视图的问题。我正在尝试创建一个视图,其中一个字段是在工作日中的另一个日期之前的7个工作日。字段[Live_Date]由客户提供,我需要创建日期[ImageDeliveryDate]。

我已经删除了所有其他字段,因为它们正在工作。我在语法的某个地方遇到了问题,但我似乎无法找到它。

这是我写的:

set @SQL = 'CREATE VIEW vw_GCS_Export
    As
    select  ''' + DATEADD(WEEKDAY,-7,''' + [Live_Date] + '+ CHAR(39) + ')' + CHAR(39) +' '' as [ImageDeliveryDate]

    from Sheet1$'

有人能说清楚我搞砸了什么吗?我有一次运行,现在它失败了。我更改了添加下划线的字段名称,这是唯一的更改。

1 个答案:

答案 0 :(得分:1)

这适用于我的SQL Server 2008 R2,用于创建前一列7天的视图:

declare @SQL nvarchar(255)
set @SQL = N'CREATE VIEW vw_GCS_Export As
select DATEADD(WEEKDAY,-7,[Live_Date])as [ImageDeliveryDate]
from Sheet1$'

但是我不清楚为什么它需要是动态的,而不仅仅是通过常规的drop / create创建,或者是所有引用的目的(包括CHAR(39)s)。