ALTER VIEW

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime

Ändrar metadata som är associerade med vyn. Den kan ändra definitionen av vyn, ändra namnet på en vy till ett annat namn, ange och ta bort metadata för vyn genom att ange TBLPROPERTIES.

Om vyn cachelagras rensar kommandot cachelagrade data i vyn och alla dess beroenden som refererar till den. Vyns cache fylls lazily när vyn öppnas nästa gång. Kommandot lämnar vyns beroenden oåtkomliga.

Syntax

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
  }

Parametrar

  • view_name

    Identifierar vyn som ska ändras. Om vyn inte kan hittas genererar Azure Databricks ett TABLE_OR_VIEW_NOT_FOUND fel.

  • BYT NAMN PÅ TILL to_view_name

    Byter namn på den befintliga vyn i schemat. Det går inte att byta namn på materialiserade vyer.

    to_view_name anger det nya namnet på vyn. Om det to_view_name redan finns genereras en TableAlreadyExistsException . Om to_view_name är kvalificerat måste det matcha schemanamnetview_nameför .

  • ANGE TBLPROPERTIES

    Anger eller återställer en eller flera användardefinierade egenskaper.

  • UNSET TBLPROPERTIES

    Tar bort en eller flera användardefinierade egenskaper.

  • AS-fråga

    En fråga som konstruerar vyn från bastabeller eller andra vyer.

    Den här satsen motsvarar en CREATE OR REPLACE VIEW-instruktion i en befintlig vy, förutom att behörigheter som beviljas för vyn bevaras.

  • [ SET ] ÄGARE TILL huvudnamn

    Överför ägarskapet för vyn till principal. Om inte vyn definieras i hive_metastore kan du bara överföra ägarskapet till en grupp som du tillhör.

    Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime 11.3 LTS och senare

    SET tillåts som ett valfritt nyckelord.

  • ANGE TAGGAR ( { tag_name = tag_value } [, ...] )

    Använd taggar i vyn. Du måste ha apply_tag behörighet att lägga till taggar i vyn.

    Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime 13.3 LTS och senare

  • TA BORT TAGGAR ( tag_name [, ...] )

    Ta bort taggar från tabellen. Du måste ha apply_tag behörighet att ta bort taggar från vyn.

    Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime 13.3 LTS och senare

  • tag_name

    En literal STRING. tag_name Måste vara unikt i vyn.

  • tag_value

    En literal STRING.

  • SCHEMA [ UPPDATERA ] CRON cron_string [ AT TIME ZONE timezone_id ]

    Gör att du kan lägga till ett schema i eller ändra schemat för en materialiserad vy.

    Om det tillhandahålls schemalägger du strömningstabellen eller den materialiserade vyn för att uppdatera sina data med det angivna cron-schemat för quartz . Endast time_zone_values accepteras. AT TIME ZONE LOCAL stöds inte. Om AT TIME ZONE den saknas används tidszonen för sessionen. Om AT TIME ZONE är frånvarande och sessionens tidszon inte har angetts utlöses ett fel. SCHEDULE är semantiskt likvärdigt med SCHEDULE REFRESH.

    Du kan inte använda syntaxen SCHEDULE i en pipelinedefinition för Delta Live Tables.

Exempel

-- 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');