谷歌扳手是否支持合并语句

问题描述

Google Cloud Spanner 是否支持 Oracle 之类的 Merge 语句?

例如我有如下的 sql'。它会起作用吗?我在运行代码段时收到无效参数。

合并 P1 c using (select sumery.RunId from PS sumery where sumery.RunId=1010192) s 在 (c.LastRunId=s.RunId) 当匹配时 udpate c.ProcesstypeCd ='更新' 当不匹配时 插入 P1 (进程名称、ActiveF、InProgressF) 值('12','Y','N');

解决方法

不,Cloud Spanner 仅支持 INSERTUPDATEDELETE DML statements。但是,它确实支持 InsertOrUpdate mutations,它与 MERGE 语句具有相同的语义。

您的问题不包括您连接到 Cloud Spanner 的方式和/或使用哪种编程语言的任何信息,但所有客户端库和 Cloud Spanner 的 JDBC 驱动程序都支持编写突变。可以在此处找到使用突变写入的示例:https://cloud.google.com/spanner/docs/samples/spanner-insert-data