此查询使用的不是 ANSI 外部联接运算符

com.microsoft.sqlserver.jdbc.SQLServerException: 此查询使用的不是 ANSI 外部联接运算符("*=" 或 "=*")。若要不进行修改即运行此查询,请使用存储过程 sp_dbcmptlevel 将当前数据库的兼容级别设置为 80 或更低。极力建议使用 ANSI 外部联接运算符(LEFT OUTER JOIN、RIGHT OUTER JOIN)重写此查询。在未来的 SQL Server 版本中,即便在向后兼容模式下,也不支持非 ANSI 联接运算符。web

 

 


Sql代码   
  1. EXEC sp_dbcmptlevel '库名''80';  
  2. GO  



原来在SQL语句中出现 *= (左连接)和 =*(右链接)的表示,可是这两种表示方法在sql2005以前的T_SQL版本中是不支持的。把出现的 *= 改为 left jon on ,=*改为 right join on 就好了。以下: 
sql

Sql代码  
    1. select * from test1 a, test2 b where( a.id *= b.id )  
    2. select * from test1 a left join test2 b on a.id=b.id  
相关文章
相关标签/搜索