Teradata mettre à Jour le Tableau de l'Instruction Select
Désolé si le titre n'est pas clair. Fondamentalement, je suis en train de sélectionner certains enregistrements à partir de plusieurs tables de mise à jour d'une certaine valeur de la colonne pour les enregistrements renvoyés.
T-SQL de mise en Œuvre
UPDATE
CUSTOMERS
SET
LIKES_US = 'Y'
FROM
RESTAURANT REST INNER JOIN CUSTOMERS CUST ON REST.LINK_ID = CUST.LINK_ID
WHERE
REST.REST_TYPE = 'Diner' AND CUST.LIKES_US IS NULL
Oracle
UPDATE
(SELECT CUST.LIKES_US
FROM CUSTOMERS CUST INNER JOIN RESTAURANT REST ON CUST.LINK_ID=REST.LINK_ID
WHERE REST.REST_TYPE = 'Diner' AND CUST.LIKES_US IS NULL) NEW_CUST
SET
NEW_CUST.LIKES_US = 'Y';
Je suis tenté de faire la même chose dans Teradata comme je l'ai fait dans Oracle mais j'obtiens l'erreur suivante:
Executed as Single statement. Failed [3707 : 42000] Syntax error, expected something like a name or a Unicode delimited identifier or an 'UDFCALLNAME' keyword between the 'UPDATE' keyword and '('.
Elapsed time = 00:00:00.003
STATEMENT 1: Unknown failed.
J'ai regardé en ligne pour la solution, mais pas eu de chance.
OriginalL'auteur Pepe | 2012-06-11
Vous devez vous connecter pour publier un commentaire.
Avez-vous essayé la syntaxe suivante avec Teradata:
OriginalL'auteur Rob Paller
Je pense que dans ce cas précis, ci-dessous la requête effectue un peu mieux depuis qu'il a besoin d'un moins de jointure.
OriginalL'auteur jacobjonz