这个"*="是什么意思啊!

yuyangyangde 2009-01-14 04:30:05
碰到一个问题在,有一个在SQLServer2005上运行的存储过程,里面有一些代码运行不过去,不知道怎么解决,哪位高人指点下如何解决啊!我把那个代码贴出来:

WHERE
r.MSTransactionId *= p.MSTransactionId
AND r.ProductPID *= p.ProductPID

这里面有个*= ,是什么意思,我怎么才能让这个where后面的条件能通过SqlServer2005验证啊!请哪位大哥大姐教教我啊!不甚感激!
...全文
77 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuyangyangde 2009-01-14
  • 打赏
  • 举报
回复
确实是SqlServer2005不支持,那把SQLServer2005的兼容性提高可不可以让这条语句通过?比如说我把 compatibility level设置高点可以不?
gjz_1209 2009-01-14
  • 打赏
  • 举报
回复
左联
claro 2009-01-14
  • 打赏
  • 举报
回复
帮顶
-狙击手- 2009-01-14
  • 打赏
  • 举报
回复
在早期的 Microsoft® SQL Server™ 2000 版本中,使用 *= 和 =* 在 WHERE 子句中指定左、右外部联接条件。有时,该语法会导致有多种解释的不明确查询。FROM 子句中指定遵从 SQL-92 的外部联接,不会导致上述不确定性。因为 SQL-92 语法更为精确,所以,本版中未包括有关在 WHERE 子句中使用旧的 Transact-SQL 外部联接语法的详细信息。以后的 SQL Server 版本可能不再支持该语法。任何使用 Transact-SQL 外部联接的语句都应改为使用 SQL-92 语法。

水族杰纶 2009-01-14
  • 打赏
  • 举报
回复
*=是left join
=*是right join
这是过时语法..不要再用.
sql2005可能已經不用了
-狙击手- 2009-01-14
  • 打赏
  • 举报
回复
左联 ,用left join 取代了

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧