我正在尝试根据查询使用变量动态创建SQL Server视图。
我已经编写并测试了该查询,并且可以确认该查询可以与结果配合使用,我已附加了指向Imgur的链接以查看屏幕截图,因为由于某些原因我无法发布完整的查询。
但是,创建视图时,我收到一些错误,似乎无法解决!我已多次检查查询,并在创建视图时重新组织了代码。
declare @MarketingCampaignID int,
@viewQuery nvarchar(max)
set @MarketingCampaignID = 246159
if exists(select * from sys.views
where name='vwCampaign_' + cast(@MarketingCampaignID as nvarchar(255)) + '_FlatValueTable')
begin
set @viewQuery = 'drop view XMPieTracking.vwCampaign_' + cast(@MarketingCampaignID as nvarchar(255)) + '_FlatValueTable'
exec (@viewQuery)
end
set @viewQuery = N'Create View XMPieTracking.vwCampaign_' + cast(@MarketingCampaignID as nvarchar(255)) + '_FlatValueTable'
set @viewQuery = @viewQuery + N'SELECT * FROM (...)
exec( @viewQuery)
答案 0 :(得分:0)
set @viewQuery = N'Create View XMPieTracking.vwCampaign_' + cast(@MarketingCampaignID as nvarchar(255))
+ N'_FlatValueTable AS' --Add `AS` here
set @viewQuery = @viewQuery + N' SELECT * FROM (...)
^-- Add a space here
并在AS
语句之前添加SELECT
关键字。
答案 1 :(得分:0)
我不是无礼的,但是为什么不使用存储过程而不是视图呢?
Here,您可以查看有关存储过程的详细信息。