Chargement des valeurs par défaut des colonnes - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Chargement des valeurs par défaut des colonnes

Vous pouvez éventuellement définir une liste de colonnes dans votre COPY commande. Si une colonne de la table est omise de la liste des colonnes, la colonne COPY sera chargée soit avec la valeur fournie par l'DEFAULToption spécifiée dans la CREATE TABLE commande, soit avec NULL si l'DEFAULToption n'a pas été spécifiée.

En cas de COPY tentative d'attribution NULL à une colonne définie comme NOTNULL, la COPY commande échoue. Pour plus d'informations sur l'attribution de l'DEFAULToption, consultezCREATE TABLE.

Lors du chargement à partir des fichiers de données sur Amazon S3 les colonnes de la liste des colonnes doivent être dans le même ordre que les champs du fichier de données. Si aucun champ du fichier de données ne possède de colonne correspondante dans la liste des colonnes, la COPY commande échoue.

Lors du chargement à partir d’une table Amazon DynamoDB, l’ordre n’importe pas. Tous les champs des attributs Amazon DynamoDB qui ne correspondent pas à une colonne de la table Amazon Redshift sont ignorés.

Les restrictions suivantes s'appliquent lorsque vous utilisez la COPY commande pour charger DEFAULT des valeurs dans une table :

  • Si une IDENTITY colonne est incluse dans la liste des colonnes, l'IDSoption EXPLICIT _ doit également être spécifiée dans la COPY commande, sinon la COPY commande échouera. De même, si une IDENTITY colonne est omise de la liste des colonnes et que l'IDSoption EXPLICIT _ est spécifiée, l'COPYopération échouera.

  • Comme l'DEFAULTexpression évaluée pour une colonne donnée est la même pour toutes les lignes chargées, une DEFAULT expression utilisant une fonction RANDOM () attribuera la même valeur à toutes les lignes.

  • DEFAULTexpressions contenant CURRENT _ DATE ou SYSDATE définies sur l'horodatage de la transaction en cours.

Pour obtenir un exemple, consultez « Charger les données à partir d’un fichier avec les valeurs par défaut » dans COPYexemples.