我使用DeZign作为数据库化的v6来设计我的sql数据库。
它已经完美地工作了,直到当前的视图SQL代码:
CREATE VIEW %viewname%
AS
SELECT dbo.tblSiteChallengeMember.id, tblSiteMemberDetail_2.memberNickname AS mediator, dbo.tblSiteGame.name AS gameName,
tblSiteMemberDetail_1.memberNickname AS teamMemberName, dbo.tblSiteChallengeMemberTeam.accepted, dbo.tblSiteChallengeMemberTeam.teamNumber,
dbo.tblSiteChallengeMember.matchDate, dbo.tblSiteChallengeMember.dateAdded, dbo.tblSiteChallengeMember.completed,
dbo.tblSiteMemberDetail.memberNickname AS creatorName, dbo.tblSiteChallengeMediator.refferalCount,
dbo.tblSiteChallengeMediator.dateAdded AS mediatorJoinDate
FROM dbo.tblSiteChallengeMemberWin RIGHT OUTER JOIN
dbo.tblSiteChallengeMember INNER JOIN
dbo.tblSiteMemberDetail ON dbo.tblSiteChallengeMember.creatorId = dbo.tblSiteMemberDetail.id ON
dbo.tblSiteChallengeMemberWin.challengeId = dbo.tblSiteChallengeMember.id LEFT OUTER JOIN
dbo.tblSiteMemberDetail AS tblSiteMemberDetail_1 INNER JOIN
dbo.tblSiteChallengeMemberTeam ON tblSiteMemberDetail_1.id = dbo.tblSiteChallengeMemberTeam.memberId ON
dbo.tblSiteChallengeMember.id = dbo.tblSiteChallengeMemberTeam.challengeId RIGHT OUTER JOIN
dbo.tblSiteGame ON dbo.tblSiteChallengeMember.gameId = dbo.tblSiteGame.id LEFT OUTER JOIN
dbo.tblSiteMemberDetail AS tblSiteMemberDetail_2 INNER JOIN
dbo.tblSiteChallengeMediator ON tblSiteMemberDetail_2.id = dbo.tblSiteChallengeMediator.memberId ONCREATE VIEW %viewname%
AS
SELECT dbo.tblSiteChallengeMember.id, tblSiteMemberDetail_2.memberNickname AS mediator, dbo.tblSiteGame.name AS gameName,
tblSiteMemberDetail_1.memberNickname AS teamMemberName, dbo.tblSiteChallengeMemberTeam.accepted, dbo.tblSiteChallengeMemberTeam.teamNumber,
dbo.tblSiteChallengeMember.matchDate, dbo.tblSiteChallengeMember.dateAdded, dbo.tblSiteChallengeMember.completed,
dbo.tblSiteMemberDetail.memberNickname AS creatorName, dbo.tblSiteChallengeMediator.refferalCount,
dbo.tblSiteChallengeMediator.dateAdded AS mediatorJoinDate
FROM dbo.tblSiteChallengeMemberWin RIGHT OUTER JOIN
dbo.tblSiteChallengeMember INNER JOIN
dbo.tblSiteMemberDetail ON dbo.tblSiteChallengeMember.creatorId = dbo.tblSiteMemberDetail.id ON
dbo.tblSiteChallengeMemberWin.challengeId = dbo.tblSiteChallengeMember.id LEFT OUTER JOIN
dbo.tblSiteMemberDetail AS tblSiteMemberDetail_1 INNER JOIN
dbo.tblSiteChallengeMemberTeam ON tblSiteMemberDetail_1.id = dbo.tblSiteChallengeMemberTeam.memberId ON
dbo.tblSiteChallengeMember.id = dbo.tblSiteChallengeMemberTeam.challengeId RIGHT OUTER JOIN
dbo.tblSiteGame ON dbo.tblSiteChallengeMember.gameId = dbo.tblSiteGame.id LEFT OUTER JOIN
dbo.tblSiteMemberDetail AS tblSiteMemberDetail_2 INNER JOIN
dbo.tblSiteChallengeMediator ON tblSiteMemberDetail_2.id = dbo.tblSiteChallengeMediator.memberId ON
dbo.tblSiteChallengeMember.mediatorId = dbo.tblSiteChallengeMediator.id它引发一个SQL错误:
Msg 102, Level 15, State 1, Procedure vwGetChallengeDetails, Line 19
Incorrect syntax near 'ONCREATE'.我对数据库仍然相当陌生,但我从未见过ONCREATE命令(如代码中的)。谁能帮我查一下这个,告诉我怎么了吗?
发布于 2012-10-24 10:41:04
这不是两次相同的代码吗,但是第一个版本的一部分被切断了,缺少了一些空格吗?第二份看上去很完整。试试这个:
CREATE VIEW %viewname%
AS
SELECT dbo.tblSiteChallengeMember.id,
tblSiteMemberDetail_2.memberNickname AS mediator,
dbo.tblSiteGame.name AS gameName,
tblSiteMemberDetail_1.memberNickname AS teamMemberName,
dbo.tblSiteChallengeMemberTeam.accepted,
dbo.tblSiteChallengeMemberTeam.teamNumber,
dbo.tblSiteChallengeMember.matchDate,
dbo.tblSiteChallengeMember.dateAdded,
dbo.tblSiteChallengeMember.completed,
dbo.tblSiteMemberDetail.memberNickname AS creatorName,
dbo.tblSiteChallengeMediator.refferalCount,
dbo.tblSiteChallengeMediator.dateAdded AS mediatorJoinDate
FROM dbo.tblSiteChallengeMemberWin
RIGHT OUTER JOIN dbo.tblSiteChallengeMember
INNER JOIN dbo.tblSiteMemberDetail
ON dbo.tblSiteChallengeMember.creatorId = dbo.tblSiteMemberDetail.id
ON dbo.tblSiteChallengeMemberWin.challengeId = dbo.tblSiteChallengeMember.id
LEFT OUTER JOIN dbo.tblSiteMemberDetail AS tblSiteMemberDetail_1
INNER JOIN dbo.tblSiteChallengeMemberTeam
ON tblSiteMemberDetail_1.id = dbo.tblSiteChallengeMemberTeam.memberId
ON dbo.tblSiteChallengeMember.id = dbo.tblSiteChallengeMemberTeam.challengeId
RIGHT OUTER JOIN dbo.tblSiteGame
ON dbo.tblSiteChallengeMember.gameId = dbo.tblSiteGame.id
LEFT OUTER JOIN dbo.tblSiteMemberDetail AS tblSiteMemberDetail_2
INNER JOIN dbo.tblSiteChallengeMediator
ON tblSiteMemberDetail_2.id = dbo.tblSiteChallengeMediator.memberId
ON dbo.tblSiteChallengeMember.mediatorId = dbo.tblSiteChallengeMediator.id发布于 2012-10-24 10:44:51
DeZign试图两次创建相同的视图,但是只删除了前面代码的一部分来创建新的视图。
删除“oncreate”中“on”之前的所有代码,修复代码。
https://stackoverflow.com/questions/13047374
复制相似问题