Megosztás a következőn keresztül:


ALTER VIEW

A következőre vonatkozik:ellenőrző jelölés igen Databricks SQL ellenőrző jelölés igen Databricks Runtime

Módosítja a nézethez társított metaadatokat. Módosíthatja a nézet definícióját, módosíthatja a nézet nevét egy másik névre, beállíthatja és megszüntetheti a nézet metaadatait a TBLPROPERTIESbeállításával.

Egy nézet megjegyzésének hozzáadásához vagy módosításához használja a következőt COMMENT ON:

Ha a nézet gyorsítótárazva van, a parancs törli a nézet gyorsítótárazott adatait és az arra hivatkozó összes függőt. A nézet gyorsítótára lustán lesz kitöltve, amikor a nézetet a következő alkalommal éri el. A parancs a nézet elemeit gyorsítótárazatlanul hagyja.

Szemantika

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 | yaml_definition }

yaml_definition
  $$
    yaml_string
  $$

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

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

owner_to
  [ SET ] OWNER TO principal

Paraméterek

  • view_name

    Azonosítja a módosítandó nézetet. Ha a nézet nem található, az Azure Databricks TABLE_OR_VIEW_NOT_FOUND hibát okoz.

  • ÁTNEVEZÉS to_view_name

    Átnevezi a meglévő nézetet a következőre to_view_name: .

    Unity Catalog nézetei esetén a to_view_name-nak ugyanabban a katalógusban kell lennie, mint a view_name. Más nézetek esetén a to_view_name sémának ugyanabban a sémában kell lennie, mint a view_name.

    Ha to_view_name nincs minősítve, akkor az aktuális sémával van implicit módon minősítve.

    A materializált nézetek nem nevezhetők át.

    Beállít vagy alaphelyzetbe állít egy vagy több felhasználó által definiált tulajdonságot.

  • UNSET TBLPROPERTIES

    Eltávolít egy vagy több felhasználó által definiált tulajdonságot.

  • AS-lekérdezés

    Olyan lekérdezés, amely alaptáblákból vagy más nézetekből hozza létre a nézetet.

    AS query a metrikai nézetekhez nem támogatott.

    Ez a záradék egyenértékű egy meglévő nézet CREATE VAGY REPLACE VIEW utasításával, azzal a kivételrel, hogy a nézeten megadott jogosultságok megmaradnak.

  • AS yaml_definition

    A következőkre vonatkozik:bejelölt igen Databricks SQL bejelölt igen Databricks Runtime 16.4 és újabb verziók bejelölt igen kizárólag a Unity Catalog

    A yaml_definition egy metrika megjelenítése.

    Ez a záradék egyenértékű egy meglévő nézet CREATE VAGY REPLACE VIEW utasításával, azzal a kivételrel, hogy a nézeten megadott jogosultságok megmaradnak.

  • séma_kötés

    A következőre vonatkozik:igen Databricks SQL igen Databricks Runtime 15.3 és újabb

    Meghatározza, hogy a nézet későbbi lekérdezése hogyan igazodik a nézet sémájának a mögöttes objektumdefiníciók változásai miatti változásaihoz. A sémakötési módokkal kapcsolatos részletekért lásd: .

    Ez a záradék nem támogatott a metrikanézetek esetében.

  • [ SET ] TULAJDONOS– FŐNÉV

    A nézet tulajdonjogát a következőre principaltovábbítja: . Hacsak a nézet nincs definiálva a hive_metastore-ben, csak olyan csoport tulajdonjogát ruházhatja át, amelyhez ön tartozik.

    A következőre vonatkozik:igen (pipával jelölve) Databricks SQL igen (pipával jelölve) Databricks Runtime 11.3 LTS és újabb

    SET választható kulcsszóként engedélyezett.

  • SET CÍMKÉK ( { tag_name = tag_value } [, ...] )

    Címkék alkalmazása a nézetre. Rendelkeznie APPLY TAG kell engedéllyel ahhoz, hogy címkéket vegyen fel a nézetbe.

    A következőre vonatkozik:jelölt igen Databricks SQL jelölt igen Databricks Runtime 13.3 LTS és újabb

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

    Távolítsa el a címkéket a táblából. A címkék nézetből való eltávolításához APPLY TAG engedéllyel kell rendelkeznie.

    A következőre vonatkozik:jelölt igen Databricks SQL jelölt igen Databricks Runtime 13.3 LTS és újabb

  • tag_name

    Egy literál STRING. A tag_name nézeten belül egyedinek kell lennie.

  • tag_value

    Egy literál STRING.

Példák

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

-- Alter a the metric view `region_sales_metrics` defined in CREATE VIEW to drop the `total_revenue_for_open_orders` measure.
> ALTER VIEW region_sales_metrics
  AS $$
   version: 0.1
   source: samples.tpch.orders
   filter: o_orderdate > '1990-01-01'
   dimensions:
   - name: month
     expr: date_trunc('MONTH', o_orderdate)
   - name: status
     expr: case
       when o_orderstatus = 'O' then 'Open'
       when o_orderstatus = 'P' then 'Processing'
       when o_orderstatus = 'F' then 'Fulfilled'
       end
   - name: order_priority
     expr: split(o_orderpriority, '-')[1]
   measures:
   - name: count_orders
     expr: count(1)
   - name: total_revenue
     expr: SUM(o_totalprice)
   - name: total_revenue_per_customer
     expr: SUM(o_totalprice) / count(distinct o_custkey)
  $$;

> DESCRIBE EXTENDED region_sales_metrics;
 col_name                    data_type
 month	                     timestamp
 status	                     string
 prder_priority              string
 count_orders                bigint measure
 total_revenue               decimal(28,2) measure
 total_revenue_per_customer  decimal(38,12) measure

 # Detailed Table Information
 Catalog                     main
 Database                    default
 Table                       region_sales_metrics
 Owner                       alf@melmak.et
 Created Time                Sun May 18 23:45:25 UTC 2025
 Last Access                 UNKNOWN
 Created By                  Spark
 Type                        METRIC_VIEW
 Comment                     A metric view for regional sales metrics.
 View Text                   "
    version: 0.1
    source: samples.tpch.orders
    filter: o_orderdate > '1990-01-01'
    dimensions:
    - name: month
      expr: date_trunc('MONTH', o_orderdate)
    - name: status
      expr: case
        when o_orderstatus = 'O' then 'Open'
        when o_orderstatus = 'P' then 'Processing'
        when o_orderstatus = 'F' then 'Fulfilled'
        end
    - name: prder_priority
      expr: split(o_orderpriority, '-')[1]
    measures:
    - name: count_orders
      expr: count(1)
    - name: total_revenue
      expr: SUM(o_totalprice)
    - name: total_revenue_per_customer
      expr: SUM(o_totalprice) / count(distinct o_custkey)
   "
 Language                    YAML
 Table Properties            [metric_view.from.name=samples.tpch.orders, metric_view.from.type=ASSET, metric_view.where=o_orderdate > '1990-01-01']