ALTER VIEW

S’applique à :check marked yes Databricks SQL check marked yes Databricks Runtime

Modifie les métadonnées associées à l’affichage. La commande peut modifier la définition de l’affichage, changer son nom, ainsi qu’en définir et annuler les métadonnées en définissant TBLPROPERTIES.

Si l’affichage est mis en cache, la commande efface les données mises en cache de l’affichage et de tous les éléments dépendants qui y font référence. Le cache de l’affichage sera rempli de manière différée lors du prochain accès à l’affichage. La commande ne met pas en cache les éléments dépendants de l’affichage.

Syntaxe

ALTER [ MATERIALIZED ] VIEW view_name
  { rename |
    SET TBLPROPERTIES clause |
    UNSET TBLPROPERTIES clause |
    alter_body |
    owner_to |
    schedule
    SET TAGS clause |
    UNSET TAGS clause }}}

rename
  RENAME TO to_view_name

alter_body
  AS query

property_key
  { idenitifier [. ...] | string_literal }

owner_to
  [ SET ] OWNER TO principal

schedule
  {
    { ADD | ALTER } SCHEDULE [ REFRESH ]
      CRON cron_string [ AT TIME ZONE timezone_id ] |
    DROP SCHEDULE
  }

Paramètres

  • view_name

    Identifie l’affichage à modifier. Si la vue est introuvable, Azure Databricks génère une erreur TABLE_OR_VIEW_NOT_FOUND.

  • RENAME TO to_view_name

    Renomme l’affichage existant dans le schéma. Les vues matérialisées ne peuvent pas être renommées.

    to_view_name spécifie le nouveau nom de l’affichage. Si to_view_name existe déjà, une exception TableAlreadyExistsException est levée. Si to_view_name est qualifié, il doit correspondre au nom de schéma de view_name.

  • SET TBLPROPERTIES

    Définit ou redéfinit une ou plusieurs propriétés définies par l’utilisateur.

  • UNSET TBLPROPERTIES

    Supprime une ou plusieurs propriétés définies par l’utilisateur.

  • COMMERequête

    Requête qui construit l’affichage à partir de tables de base ou d’autres affichages.

    Cette clause équivaut à une instruction CREATE OR REPLACE VIEW sur une vue existante, à la différence près que les privilèges accordés sur la vue sont conservés.

  • [ SET ] PROPRIÉTAIRE DU principal

    Transfère la propriété de l’affichage à principal. Si l’affichage n’est pas défini dans le hive_metastore, vous pouvez transférer la propriété uniquement à un groupe auquel vous appartenez.

    S’applique à :check marked yes Databricks SQL SQL Warehouse version 2022.35 ou ultérieurecheck marked yes Databricks Runtime 11.2 et versions ultérieures

    SET est autorisé en tant que mot clé facultatif.

  • SET TAGS ( { tag_name = tag_value } [, …] )

    Appliquez des balises à la vue. Vous devez avoir l'autorisation apply_tag d'ajouter des balises à la vue.

    S’applique à :check marked yes Databricks SQL check marked yes Databricks Runtime 13.3 LTS et versions ultérieures

  • UNSET TAGS ( tag_name [, …] )

    Supprimer des balises de la table. Vous devez avoir l'autorisation apply_tag de supprimer des balises de la vue.

    S’applique à :check marked yes Databricks SQL check marked yes Databricks Runtime 13.3 LTS et versions ultérieures

  • tag_name

    Un STRING littéral. Le tag_name doit être unique dans la vue.

  • tag_value

    Un STRING littéral.

  • SCHEDULE [ REFRESH ] CRON cron_string [ AT TIME ZONE timezone_id ]

    Vous permet d’ajouter une planification vers ou de modifier la planification d’une vue matérialisée.

    Le cas échéant, planifie la table de streaming ou la vue matérialisée pour actualiser ses données avec la planification cron quartz donnée. Seules les time_zone_values sont acceptées. La fonction AT TIME ZONE LOCAL n'est pas prise en charge. Si AT TIME ZONE est absent, le fuseau horaire de session est utilisé. Si AT TIME ZONE est absent et que le fuseau horaire de session n’est pas défini, une erreur est générée. SCHEDULE est équivalent sémantiquement à SCHEDULE REFRESH.

    Vous ne pouvez pas utiliser la syntaxe SCHEDULE dans une définition de pipeline Delta Live Tables.

Exemples

-- Rename only changes the view name.
-- The source and target schemas of the view have to be the same.
-- Use qualified or unqualified name for the source and target view.
> ALTER VIEW tempsc1.v1 RENAME TO tempsc1.v2;

-- Verify that the new view is created.
> DESCRIBE TABLE EXTENDED tempsc1.v2;
                            c1       int   NULL
                            c2    string   NULL

  # Detailed Table Information
                      Database   tempsc1
                         Table        v2

-- Before ALTER VIEW SET TBLPROPERTIES
> DESCRIBE TABLE EXTENDED tempsc1.v2;
                            c1       int   null
                            c2    string   null

  # Detailed Table Information
                      Database   tempsc1
                         Table        v2
              Table Properties    [....]

-- Set properties in TBLPROPERTIES
> ALTER VIEW tempsc1.v2 SET TBLPROPERTIES ('created.by.user' = "John", 'created.date' = '01-01-2001' );

-- Use `DESCRIBE TABLE EXTENDED tempsc1.v2` to verify
> DESCRIBE TABLE EXTENDED tempsc1.v2;
                            c1                                                   int   NULL
                            c2                                                string   NULL

  # Detailed Table Information
                      Database                                               tempsc1
                         Table                                                    v2
              Table Properties [created.by.user=John, created.date=01-01-2001, ....]

-- Remove the key created.by.user and created.date from `TBLPROPERTIES`
> ALTER VIEW tempsc1.v2 UNSET TBLPROPERTIES (`created`.`by`.`user`, created.date);

-- Use `DESCRIBE TABLE EXTENDED tempsc1.v2` to verify the changes
> DESCRIBE TABLE EXTENDED tempsc1.v2;
                            c1       int   NULL
                            c2    string   NULL

  # Detailed Table Information
                      Database   tempsc1
                         Table        v2
              Table Properties    [....]

-- Change the view definition
> ALTER VIEW tempsc1.v2 AS SELECT * FROM tempsc1.v1;

-- Use `DESCRIBE TABLE EXTENDED` to verify
> DESCRIBE TABLE EXTENDED tempsc1.v2;
                            c1                        int   NULL
                            c2                     string   NULL

  # Detailed Table Information
                      Database                    tempsc1
                         Table                         v2
                          Type                       VIEW
                     View Text   select * from tempsc1.v1
            View Original Text   select * from tempsc1.v1

-- Transfer ownership of a view to another user
> ALTER VIEW v1 OWNER TO `alf@melmak.et`

-- Adds a schedule to refresh a materialized view once a day
-- at midnight in Los Angeles
> ALTER MATERIALIZED VIEW my_mv
    ADD SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';

-- Alters the schedule to run every 15 minutes for a materialized view
> ALTER MATERIALIZED VIEW my_mv
    ALTER SCHEDULE CRON '0 0/15 * * * ? *';

-- Drops the schedule for a materialized view
> ALTER MATERIALIZED VIEW my_mv
    DROP SCHEDULE;

-- Applies three tags to the view named `test`.
> ALTER VIEW test SET TAGS ('tag1' = 'val1', 'tag2' = 'val2', 'tag3' = 'val3');

-- Removes three tags from the view named `test`.
> ALTER VIEW test UNSET TAGS ('tag1', 'tag2', 'tag3');