我是 BIgQuery(google) 的新手,只有 1% 的经验,这就是我的情况。
UPDATE celigo.Contact.Company
SET {{data.0.propertyName}} = {{data.0.propertyValue}}
WHERE Id = {{data.0.objectId}}
我在第二行收到错误,{{data.0.propertyName}} 返回一个字符串,column_name 应该是非字符串。
样本数据:
“数据”:[ { “对象ID”:123, “变更源”:“CRM”, "属性名称": "电子邮件", "propertyValue": "样本值" }
我的目标是扭转这个局面
UPDATE celigo.Contact.Company
SET 'Email' = 'sample-value'
WHERE Id = 123
到
UPDATE celigo.Contact.Company
SET Email = 'sample-value'
WHERE Id = 123
如果可行的话,使用sql方法从电子邮件中删除引用
尝试在 SET 旁边使用 REPLACE SQL 方法,但没有成功
我尝试 DECLARE 一个变量,然后使用 REPLACE,但这不起作用。
你试过这个吗:
DECLARE @PropertyName AS NVARCHAR(50)
DECLARE @SQL AS NVARCHAR(MAX)
SET @PropertyName = 'Email'
SET @SQL = 'UPDATE celigo.Contact.Company ' +
'SET ' + QUOTENAME(@PropertyName) + ' = ''sample-value'' ' +
'WHERE Id = 123'
EXEC sp_executesql @SQL
这将动态地将 {{data.0.propertyName}} 替换为 @PropertyName 的值,而不用引号括起来。