

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# `ALTER VIEW`
<a name="alter-view-syntax-support"></a>

L’istruzione `ALTER VIEW` consente di modificare varie proprietà di una vista esistente e Aurora DSQL supporta tutta la sintassi PostgreSQL per questo comando.

## Sintassi supportata
<a name="alter-view-supported-syntax"></a>

```
ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name SET DEFAULT expression
ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name DROP DEFAULT
ALTER VIEW [ IF EXISTS ] name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER VIEW [ IF EXISTS ] name RENAME [ COLUMN ] column_name TO new_column_name
ALTER VIEW [ IF EXISTS ] name RENAME TO new_name
ALTER VIEW [ IF EXISTS ] name SET SCHEMA new_schema
ALTER VIEW [ IF EXISTS ] name SET ( view_option_name [= view_option_value] [, ... ] )
ALTER VIEW [ IF EXISTS ] name RESET ( view_option_name [, ... ] )
```

## Description
<a name="alter-view-description"></a>

`ALTER VIEW`modifica varie proprietà ausiliarie di una vista. (Se vuoi modificare la query di definizione della vista, usa`CREATE OR REPLACE VIEW`.) È necessario possedere la vista da utilizzare`ALTER VIEW`. Per modificare lo schema di una vista, occorre anche disporre del privilegio `CREATE` sul nuovo schema. Per modificare il proprietario, bisogna essere in grado di eseguire l’istruzione `SET ROLE` sul nuovo ruolo proprietario e tale ruolo deve disporre del privilegio `CREATE` sullo schema della vista.

## Parameters
<a name="alter-view-parameters"></a>

**`name`**  
Il nome (facoltativamente qualificato dallo schema) di una vista esistente. 

**`column_name`**  
Nome di una colonna esistente o nuovo nome per una colonna esistente.

**`IF EXISTS`**  
Non generare un errore se la vista non esiste. In questo caso viene emesso un avviso.

**`SET/DROP DEFAULT`**  
Questi moduli impostano o rimuovono il valore predefinito per una colonna. Il valore predefinito per una colonna di visualizzazione viene sostituito in qualsiasi comando `INSERT` o `UPDATE` in cui la destinazione è la vista.

**`new_owner`**  
Il nome utente del nuovo proprietario della vista.

**`new_name`**  
Il nuovo nome della vista.

**`new_schema`**  
Il nuovo schema della vista.

**`SET ( view_option_name [= view_option_value] [, ... ] )`**  
Imposta un'opzione di visualizzazione. Le opzioni supportate sono le seguenti:  
+ `check_option (enum)` - Modifica l’opzione di controllo della vista. Il valore deve essere `local` o `cascaded`.
+ `security_barrier (boolean)` - Modifica la proprietà guardabarriere della vista.
+ `security_invoker (boolean)`- Modifica la proprietà security-invoker della vista.

**`RESET ( view_option_name [, ... ] )`**  
Reimposta un'opzione di visualizzazione al valore predefinito.

## Esempi
<a name="alter-view-examples"></a>

Rinominare la vista in: `foo` `bar`

```
ALTER VIEW foo RENAME TO bar;
```

Associare un valore di colonna predefinito a una vista aggiornabile:

```
CREATE TABLE base_table (id int, ts timestamptz);
CREATE VIEW a_view AS SELECT * FROM base_table;
ALTER VIEW a_view ALTER COLUMN ts SET DEFAULT now();
INSERT INTO base_table(id) VALUES(1);  -- ts will receive a NULL
INSERT INTO a_view(id) VALUES(2);  -- ts will receive the current time
```

## Compatibilità
<a name="alter-view-compatibility"></a>

`ALTER VIEW` è un’estensione PostgreSQL dello standard SQL supportato da Aurora DSQL.