2014-09-18 56 views
0

在Teradata中編寫簡單的更新語句,並且無法使其工作。我收到語法錯誤說:Syntax error: expected something between the word 'First_name' and the 'FROM' keyword。這是對第7行的參考。我不知道我錯過了什麼。SQL更新語法檢查

這裏有一些刪節對象名稱代碼:

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

這看起來並不那麼簡單。我認爲以下將在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;