所以我有一个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'.