首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL 'ONCREATE‘命令

SQL 'ONCREATE‘命令
EN

Stack Overflow用户
提问于 2012-10-24 10:28:53
回答 2查看 100关注 0票数 0

我使用DeZign作为数据库化的v6来设计我的sql数据库。

它已经完美地工作了,直到当前的视图SQL代码:

代码语言:javascript
复制
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错误:

代码语言:javascript
复制
Msg 102, Level 15, State 1, Procedure vwGetChallengeDetails, Line 19
Incorrect syntax near 'ONCREATE'.

我对数据库仍然相当陌生,但我从未见过ONCREATE命令(如代码中的)。谁能帮我查一下这个,告诉我怎么了吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-24 10:41:04

这不是两次相同的代码吗,但是第一个版本的一部分被切断了,缺少了一些空格吗?第二份看上去很完整。试试这个:

代码语言:javascript
复制
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
票数 2
EN

Stack Overflow用户

发布于 2012-10-24 10:44:51

DeZign试图两次创建相同的视图,但是只删除了前面代码的一部分来创建新的视图。

删除“oncreate”中“on”之前的所有代码,修复代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13047374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档