(“,CROSS,FULL,INNER,JOIN,LEFT,NATURAL,ON,RIGHT或使用预期,得到了“ WITH”

时间:2018-08-30 14:23:47

标签: sql amazon-redshift

我有sql请求

这是其中一部分代码

    LEFT JOIN       dbo.contacts_client_organization cog WITH(NOLOCK)
ON              cog.clientid = be.clientid

齿轮出现错误之后

  

'(',CROSS,FULL,INNER,JOIN,LEFT,Natural,ON,RIGHT或预期使用,得到了'WITH

我想重写查询以在Amazon Redshift上使用它

这里是完整查询

Code of query

我该如何解决?

2 个答案:

答案 0 :(得分:2)

在Redshift(或Postgres)中不需要nolock提示。

由于其底层体系结构,读取器从不阻塞编写器,而写入器也从不阻塞读取器,因此Redshift和Postgres不需要在SQL Server中启用非锁定读取的提示

只要删除WITH(NOLOCK),就没有等效的内容。

答案 1 :(得分:0)

在MSSQL中,您的查询可以正常工作。但是对于MYSQL,如果您需要事务隔离,请尝试如下操作:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
select ...

 LEFT JOIN       dbo.contacts_client_organization cog WITH(NOLOCK)
ON              cog.clientid = be.clientid;
COMMIT ;