

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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à.

# SVL\_STATEMENTTEXT
<a name="r_SVL_STATEMENTTEXT"></a>

Utilizzare la visualizzazione SVL\_STATEMENTTEXT per ottenere un record completo di tutti i comandi SQL che sono stati eseguiti nel sistema.

La visualizzazione SVL\_STATEMENTTEXT contiene l'unione di tutte le righe nelle tabelle [STL\_DDLTEXT](r_STL_DDLTEXT.md), [STL\_QUERYTEXT](r_STL_QUERYTEXT.md) e [STL\_UTILITYTEXT](r_STL_UTILITYTEXT.md). Questa visualizzazione include anche un join alla tabella STL\_QUERY.

SVL\_STATEMENTTEXT è visibile a tutti gli utenti. Gli utenti con privilegi avanzati visualizzano tutte le righe; gli utenti regolari visualizzano solo i propri dati. Per ulteriori informazioni, consulta [Visibilità dei dati nelle tabelle e nelle viste di sistema](cm_chap_system-tables.md#c_visibility-of-data).

Alcuni o tutti i dati di questa tabella sono definiti anche nella vista di monitoraggio SYS [SYS\_QUERY\_HISTORY](SYS_QUERY_HISTORY.md). I dati nella vista di monitoraggio SYS sono formattati in modo da essere più facili da usare e comprendere. Ti consigliamo di utilizzare la vista di monitoraggio SYS per le query.

## Colonne di tabella
<a name="r_SVL_STATEMENTTEXT-table-columns"></a>


| Nome della colonna  | Tipo di dati  | Description  | 
| --- | --- | --- | 
| userid  | intero  | ID dell'utente che ha generato la voce.  | 
| xid  | bigint  | ID di transazione associato all'istruzione.  | 
| pid  | intero  | ID di processo per l'istruzione.  | 
| etichetta  | character(320)  | Il nome del file utilizzato per eseguire la query o un'etichetta definita con un comando SET QUERY GROUP. Se la query non è basata su file o il parametro QUERY\_GROUP non è impostato, questo campo è vuoto.  | 
| starttime  | timestamp | Orario esatto in cui l'istruzione ha avviato l'esecuzione, con 6 cifre di precisione per le frazioni di secondo. Ad esempio: 2009-06-12 11:29:19.131358  | 
| endtime  | timestamp | Orario esatto in cui l'istruzione ha terminato l'esecuzione, con 6 cifre di precisione per le frazioni di secondo. Ad esempio: 2009-06-12 11:29:19.193640  | 
| sequenza  | intero  | Quando una singola istruzione contiene più di 200 caratteri, vengono registrate delle righe aggiuntive per tale istruzione. La sequenza 0 è la prima riga, 1 la seconda e così via.  | 
| tipo  | varchar(10)  | Tipo di istruzione SQL: QUERY, DDL o UTILITY.  | 
| testo  | character(200)  | Testo SQL, in incrementi da 200 caratteri. Questo campo potrebbe contenere caratteri speciali come barra rovesciata (\\\\) e nuova riga (\\n).  | 

## Query di esempio
<a name="r_SVL_STATEMENTTEXT-sample-query"></a>

La query seguente restituisce le istruzioni DDL eseguite il 16 giugno 2009: 

```
select starttime, type, rtrim(text) from svl_statementtext
where starttime like '2009-06-16%' and type='DDL' order by starttime asc;

starttime                  | type |              rtrim
---------------------------|------|--------------------------------
2009-06-16 10:36:50.625097 | DDL  | create table ddltest(c1 int);
2009-06-16 15:02:16.006341 | DDL  | drop view alltickitjoin;
2009-06-16 15:02:23.65285  | DDL  | drop table sales;
2009-06-16 15:02:24.548928 | DDL  | drop table listing;
2009-06-16 15:02:25.536655 | DDL  | drop table event;
...
```

### Ricostruzione dell'SDL archiviato
<a name="r_SVL_STATEMENTTEXT-reconstruct-sql"></a>

Per ricostruire l'SQL archiviato nella colonna `text` di SVL\_STATEMENTTEXT, eseguire un'istruzione SELECT per creare SQL da 1 o più parti nella colonna `text`. Prima di eseguire l'SQL ricostruito, sostituire un carattere speciale qualsiasi (`\n`) con una nuova riga. Il risultato della dichiarazione SELECT seguente è dato da una riga di SQL ricostruiti nel campo `query_statement`.

```
select LISTAGG(CASE WHEN LEN(RTRIM(text)) = 0 THEN text ELSE RTRIM(text) END, '') within group (order by sequence) AS query_statement 
from SVL_STATEMENTTEXT where pid=pg_backend_pid();
```

Ad esempio, la query seguente seleziona 3 colonne. La query stessa è più lunga di 200 caratteri ed è archiviata in parti in SVL\_STATEMENTTEXT.

```
select
1 AS a0123456789012345678901234567890123456789012345678901234567890,
2 AS b0123456789012345678901234567890123456789012345678901234567890,
3 AS b012345678901234567890123456789012345678901234
FROM stl_querytext;
```

In questo esempio, la query è archiviata in 2 parti (righe) nella colonna `text` di SVL\_STATEMENTTEXT.

```
select sequence, text from SVL_STATEMENTTEXT where pid = pg_backend_pid() order by starttime, sequence;
```

```
 sequence |                                                                                             text                                                                                                   
----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        0 | select\n1 AS a0123456789012345678901234567890123456789012345678901234567890,\n2 AS b0123456789012345678901234567890123456789012345678901234567890,\n3 AS b012345678901234567890123456789012345678901234
        1 | \nFROM stl_querytext;
```

Per ricostruire l'SQL archiviato in STL\_STATEMENTTEXT, eseguire l'SQL seguente. 

```
select LISTAGG(CASE WHEN LEN(RTRIM(text)) = 0 THEN text ELSE RTRIM(text) END, '') within group (order by sequence) AS text 
from SVL_STATEMENTTEXT where pid=pg_backend_pid();
```

Per utilizzare l'SQL ricostruito derivante nel client, sostituire qualsiasi carattere speciale (`\n`) con una nuova riga. 

```
                                                                                                             text                                                                                                             
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 select\n1 AS a0123456789012345678901234567890123456789012345678901234567890,\n2 AS b0123456789012345678901234567890123456789012345678901234567890,\n3 AS b012345678901234567890123456789012345678901234\nFROM stl_querytext;
```