2017-09-18 1 views
0

J'essaie de répliquer une table en utilisant la clause CTAS dans redshift en spécifiant en plus une clé primaire à la table.Création d'une table comme dans Redshift Définition de la clé primaire

Essayé ci-dessous syntaxe mais pas de chance. Cependant, je suis en mesure de préciser DISTKEY/SORTKEY en utilisant la même syntaxe

create table date_dim 
PRIMARY KEY(date_key) 
--DISTKEY (date_key) 
as 
    select date_key, 
    calendar_date,.....; 

Je veux utiliser la clé primaire dans le cadre de la logique de fusion, je suis la conception dans mon flux.

TIA!

Répondre

0

Redshift ne supporte pas les contraintes de clé primaire et à l'étranger: http://docs.aws.amazon.com/redshift/latest/dg/t_Defining_constraints.html

+0

comment puis-je écrire des requêtes de fusion! – Abhi

+0

Cela dépend de ce que vous essayez de faire, mais j'espère que la documentation sur la mise à jour et l'insertion de nouvelles données devrait avoir des exemples de logique de fusion qui vous intéressent: https://docs.aws.amazon.com/redshift/latest/dg/ t_updating-inserting-using-staging-tables-.html – earmouse

0

Vous ne pouvez spécifier distkey et sortkey dans CTAS. Voici le lien ci-dessous qui décrit toutes les options que vous pouvez spécifier Redshift CTAS