Condividi tramite


ALTER VIEW

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime

Modifica i metadati associati alla vista. Può modificare la definizione della visualizzazione, modificare il nome di una visualizzazione impostando un nome diverso, set e annullare l'impostazione dei metadati della vista impostando TBLPROPERTIES.

Per aggiungere o modificare un commento su una vista o sulla relativa columns, utilizzare COMMENT ON.

Se la visualizzazione viene memorizzata nella cache, il comando cancella i dati memorizzati nella cache della visualizzazione e tutti i relativi dipendenti che vi fanno riferimento. La cache della visualizzazione verrà riempita in modo differire quando si accede alla visualizzazione alla successiva volta. Il comando lascia i dipendenti della visualizzazione come non memorizzati nella cache.

Sintassi

ALTER VIEW view_name
  { rename |
    SET TBLPROPERTIES clause |
    UNSET TBLPROPERTIES clause |
    alter_body |
    schema_binding |
    owner_to |
    SET TAGS clause |
    UNSET TAGS clause }

rename
  RENAME TO to_view_name

alter_body
  AS query

schema_binding
  WITH SCHEMA { BINDING | [ TYPE ] EVOLUTION | COMPENSATION }

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

owner_to
  [ SET ] OWNER TO principal

Parameters

  • view_name

    Identifica la visualizzazione da modificare. Se non è possibile trovare la vista azure Databricks genera un errore di TABLE_OR_VIEW_NOT_FOUND .

  • RINOMINA IN to_view_name

    Rinomina la vista esistente all'interno del schema. Non è possibile rinominare views materializzato.

    to_view_name specifica il nuovo nome della visualizzazione. Se l'oggetto to_view_name esiste già, viene generato un oggetto TableAlreadyExistsException . Se to_view_name è qualificato, deve corrispondere al nome schema di view_name.

  • SET TBLPROPERTIES

    Imposta o reimposta una o più proprietà definite dall'utente.

  • Annullare le proprietà della tabella

    Rimuove una o più proprietà definite dall'utente.

  • Query AS

    Una query che costruisce la vista dalla base tables o da altre views.

    Questa clausola equivale a un'istruzione CREATE OR REPLACE VIEW in una vista esistente, ad eccezione del fatto che i privilegi concessi nella vista vengono mantenuti.

  • schema_binding

    Si applica a:segno di spunta sì Databricks Runtime 15.3 e versioni successive

    Specifica il modo in cui le query successive della vista si adattano alle modifiche apportate al schema della vista a causa di modifiche apportate alle definizioni degli oggetti sottostanti. Vedere CREATE VIEW... CON SCHEMA per informazioni dettagliate sulle modalità di associazione schema.

  • [ SET ] PROPRIETARIO A principale

    Trasferisce la proprietà della vista a principal. A meno che la vista non sia definita in hive_metastore , è possibile trasferire la proprietà solo a un gruppo a cui si appartiene.

    Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 11.3 LTS e versioni successive

    SET è consentito come parola chiave facoltativa.

  • tag SET ( { tag_name = tag_value } [, ...] )

    Applicare tag alla visualizzazione. È necessario disporre APPLY TAG dell'autorizzazione per aggiungere tag alla visualizzazione.

    Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 13.3 LTS e versioni successive

  • UNSET TAGS ( tag_name [, ...] )

    I tag Remove dal table. È necessario disporre dell'autorizzazione APPLY TAG per remove tag nella visualizzazione.

    Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 13.3 LTS e versioni successive

  • tag_name

    Valore letterale STRING. Deve tag_name essere univoco all'interno della visualizzazione.

  • tag_value

    Valore letterale STRING.

Esempi

-- 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`

-- Change the view schema binding to adopt type evolution
> ALTER VIEW v1 WITH SCHEMA TYPE EVOLUTION;

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