2014-09-18 2 views
0

Написание простого оператора обновления в Teradata, и у меня возникли проблемы с его работой. Я получаю синтаксическую ошибку: Syntax error: expected something between the word 'First_name' and the 'FROM' keyword. Это ссылка на строку 7. Я понятия не имею, что мне не хватает.Проверка синтаксиса SQL Update

Вот код, с некоторыми отредактированных имен объектов:

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

Это не выглядит так просто. Я думаю, что в Терадате будет работать следующее:

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; 
Смежные вопросы