SQL Update语法检查

时间:2014-09-18 18:10:56

标签: sql teradata

在Teradata中编写一个简单的更新语句,我无法使其工作。我收到语法错误:Syntax error: expected something between the word 'First_name' and the 'FROM' keyword。这是对第7行的引用。我不知道我错过了什么。

以下是包含一些编辑对象名称的代码:

UPDATE DATA.CONTACTS tgt SET tgt.LAST_NAME = TABLES.PART.LAST_NAME ,tgt.BPP_USER_ID = TABLES.PART.User_Id ,tgt.Email_Address = TABLES.PART.Email ,tgt.Last_name = TABLES.PART.Last_name ,tgt.First_name = TABLES.PART.First_name FROM (SELECT C_C , USER_ID , Email ,Last_name ,First_name FROM TABLES.PART) --ppage WHERE EMAIL_ADDRESS IN ( SELECT Email FROM DATA.CONTACTS );

select * from mmbi_tables_data.crm_mmbi_contacts

我尝试使用该ppage别名删除,但无论我做什么,我仍然会得到相同的错误。

1 个答案:

答案 0 :(得分:1)

这看起来并不那么简单。我认为以下内容适用于Teradata:

UPDATE tgt
    FROM data.contacts tgt, tables.part ppage
    SET LAST_NAME = TABLES.PART.LAST_NAME,
        BPP_USER_ID = TABLES.PART.User_Id,
        Email_Address = TABLES.PART.Email,
        Last_name = TABLES.PART.Last_name,
        First_name = TABLES.PART.First_name
    WHERE tgt.email = ppage.email_address;