加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server上的(nolock)和表别名的顺序

发布时间:2020-12-12 16:56:12 所属栏目:MsSql教程 来源:网络整理
导读:所以我有一个SQL语句,看起来像这样: SELECT columnFROM table t (nolock)LEFT OUTER JOIN table2 (nolock) t2 on t.id = t2.id 此语句适用于我的SQL 2005和SQL 2008环境.它不在远程SQL 2005环境中.我已将最后一行切换到: LEFT OUTER JOIN table2 t2 (nolock
所以我有一个SQL语句,看起来像这样:
SELECT column
FROM table t (nolock)
LEFT OUTER JOIN table2 (nolock) t2 on t.id = t2.id

此语句适用于我的SQL 2005和SQL 2008环境.它不在远程SQL 2005环境中.我已将最后一行切换到:

LEFT OUTER JOIN table2 t2 (nolock) on t.id = t2.id

这在远程环境中工作.

抛开(nolock)是否合适,语法应该保持内部一致的问题,为什么会发生这种情况?我试图搜索处理这个的修补程序/ KBs,没有想到. SQL Server上是否有可能导致此行为的设置?

解决方法

检查您的数据库兼容性级别.

这个语法应该是90.

刚刚检查:

sp_dbcmptlevel 'test',80

DBCC execution completed. If DBCC printed error messages,contact your system administrator.

SELECT TOP 100 *
FROM master t (nolock)
LEFT OUTER JOIN master (nolock) t2 on t.id = t2.id

Сообщение 102,уровень 15,состояние 1,строка 3
Incorrect syntax near 't2'.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读