Dans Teradata, je souhaite créer une table temporaire globale, puis faire référence à cette table globale dans d'autres requêtes. Je ne veux pas créer de table volatile car j'utilise Teradata via un autre frontal et que le serveur frontal doit savoir si la table temporaire existe, donc les tables volatiles ne sont pas une option car elle n'existe pas dans le dictionnaire de données.Teradata crée une table temporaire globale
Voici mon code pour créer la table temporaire hihihi.
create set global temporary table hihihi as
(select
*
from
db.a_permanent_table)
with no data
on commit preserve rows;
select * from hihihi;
Selon les recherches que je l'ai fait, je ne peux pas utiliser le
optionavec des données
pour les tables temporaires (par exemple. Voir ce link). Je dois donc utiliser les
optionAucune donnée
. Je pense que cela dit aussi que lorsque je fais référence à cette table temporaire, les données vont "se matérialiser".
Cependant, lorsque je fais la sélection comme ci-dessous
select * from hihihi;
rien est retourné? Qu'est-ce qui me manque dans ma compréhension des tableaux temporaires mondiaux?
Je commente parce que je ne suis pas sûr de la réponse en main, mais avez-vous essayé d'écrire une commande "INSERT" après la création de la table? Peut-être que la table create ne définit que le schéma ... (INSERT INTO hihihi SEL * FROM db.a_permanent_table;) – ChrisCamp