存储过程中创建视图的问题!!
set @sql = 'if not exists (select 1
from sysobjects
where id = object_id(''dbo.V_'+@tablename_detail+''')
and type = ''V'')
CREATE VIEW dbo.V_'+@tablename_detail+'
AS
SELECT dbo.'+@tablename_detail+'.downmain_id,
dbo.'+@tablename_detail+'.downmain_companyid,
dbo.'+@tablename_detail+'.downmain_songerid,
dbo.'+@tablename_detail+'.downmain_specialid,
dbo.'+@tablename_detail+'.downmain_songid,
dbo.'+@tablename_detail+'.downmain_browse,
dbo.'+@tablename_detail+'.downmain_download,
dbo.'+@tablename_detail+'.downmain_income,
dbo.'+@tablename_detail+'.downmain_date,
dbo.'+@tablename_detail+'.download_source, dbo.c_company.companyName,
dbo.music_song.songname, dbo.music_songer.songerName,
dbo.music_special.specialname, dbo.music_song.addtime
FROM dbo.music_special INNER JOIN
dbo.music_songer INNER JOIN
dbo.stat_downmain_200604 INNER JOIN
dbo.music_song ON
dbo.'+@tablename_detail+'.downmain_songid = dbo.music_song.id ON
dbo.music_songer.id = dbo.'+@tablename_detail+'.downmain_songerid ON
dbo.music_special.id = dbo.'+@tablename_detail+'.downmain_specialid INNER JOIN
dbo.c_company ON
dbo.'+@tablename_detail+'.downmain_companyid = dbo.c_company.id'
exec(@sql)
错误提示为view关键字附近有语法错误,查了一下资料,说创建视图必须在一个事务内,因此create前必须有go关键字,如果按照一般的sql语句来创建没问题,现在我是根据if条件来创建视图,请大家帮忙看看!!