Stored procedures 存储过程中的动态sql

Stored procedures 存储过程中的动态sql,stored-procedures,sql-server-2008-r2,dynamic-sql,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

我在创建视图时遇到问题。我试图创建一个视图,其中一个字段是表中另一个日期之前的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$'

谁能解释一下我搞砸了什么?我曾经运行过这个程序,现在它失败了。我更改了字段的名称并添加了下划线,这是唯一的更改。

这在我的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$'
但我不清楚为什么它需要是动态的,而不仅仅是通过常规的拖放/创建来创建的,或者所有引号的用途(包括CHAR(39)s)

那会是哪个数据库?像“动态SQL”或存储过程这样的东西是高度特定于供应商的-所以我们真的需要知道您使用的是什么具体的数据库。。。。