从sqlserver2005导出视图成sqlserver2000版脚本,运行出错

分类:数据库| 发布:camnprbubuol| 查看: | 发表时间:2011/2/11

因为我用的sql2005数据库是简装版,没有导入、导出功能,所有就用:Microsoft SQL Server Database Publishing Wizard来导出脚本后,

在sql2000上运行了。

要运行的转换过的sql2000脚本是(部分代码):

CREATE VIEW [dbo].[vCAMNPR_User_Video_Comment]
AS
SELECT     UserID, Anonymous, PhotoID, [Content], Competence, AlbumID, CreateTime, ID,
                          (SELECT     COUNT(1) AS Expr1
                            FROM          dbo.CAMNPR_User_Video_Comment
                            WHERE      (dbo.CAMNPR_User_Video_CommentParent.ID = PID)) AS CountChildComment,
                          (SELECT     TOP (1) UserName
                            FROM          dbo.CAMNPR_User_Ex
                            WHERE      (UserID = dbo.CAMNPR_User_Video_CommentParent.UserID)) AS CommentUserName
FROM         dbo.CAMNPR_User_Video_CommentParent

提示的错误是:

消息 170,级别 15,状态 1,过程 vCAMNPR_User_Video_Comment,第 7 行
第 7 行: ’(’ 附近有语法错误。

排错方法:先在一大段代码里,提出创建视图的代码,因为要执行脚本的目的就是要附加视图到其它数据库里,单独执行创建视图的脚本也出同样的错误。

这样就可以缩小范围了,反复看了一下这段代码,一头雾水,在sql2005里执行都没问题,最终锁定到这个“TOP (1)”,sql2000不支持带括号的,改成“TOP 1”,问题就解决了。

365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/archives/206.html