

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

Use a exibição SVL\_STATEMENTTEXT para obter um registro completo de todos os comandos SQL que foram executados no sistema.

A exibição SVL\_STATEMENTTEXT contém a união de todas as linhas nas tabelas [STL\_DDLTEXT](r_STL_DDLTEXT.md), [STL\_QUERYTEXT](r_STL_QUERYTEXT.md) e [STL\_UTILITYTEXT](r_STL_UTILITYTEXT.md). Essa exibição também inclui uma junção com a tabela STL\_QUERY.

SVL\_STATEMENTTEXT é visível para todos os usuários. Os superusuários podem ver todas as linhas; usuários regulares podem ver somente seus próprios dados. Para obter mais informações, consulte [Visibilidade de dados em tabelas e visualizações de sistema](cm_chap_system-tables.md#c_visibility-of-data).

Alguns ou todos os dados nessa tabela também podem ser encontrados na exibição de monitoramento SYS [SYS\_QUERY\_HISTORY](SYS_QUERY_HISTORY.md). Os dados na exibição de monitoramento SYS são formatados para serem mais fáceis de usar e compreender. É recomendável usar a exibição de monitoramento SYS nas consultas.

## Colunas da tabela
<a name="r_SVL_STATEMENTTEXT-table-columns"></a>


| Nome da coluna  | Tipo de dados  | Descrição  | 
| --- | --- | --- | 
| userid  | integer  | O ID do usuário que gerou a entrada.  | 
| xid  | bigint  | O ID da transação associada à instrução.  | 
| pid  | integer  | O ID de processo para a instrução.  | 
| rótulo  | character(320)  | O nome do arquivo usado para executar a consulta ou um rótulo definido com o comando SET QUERY\_GROUP. Se a consulta não for baseada em arquivos ou o parâmetro QUERY\_GROUP não estiver definido, o valor deste campo será branco.  | 
| starttime  | timestamp | O horário exato do início da execução da instrução, com 6 dígitos de precisão para as frações de segundo. Por exemplo, .: 2009-06-12 11:29:19.131358  | 
| endtime  | timestamp | O horário exato do término da execução da instrução, com 6 dígitos de precisão para as frações de segundo. Por exemplo, .: 2009-06-12 11:29:19.193640  | 
| sequence  | integer  | Quando uma única instrução contém mais de 200 caracteres, são registradas linhas adicionais para essa instrução. O valor 0 da sequência é a primeira linha, 1 é a segunda, e assim por diante.  | 
| type  | varchar(10)  | O tipo da instrução SQL: QUERY, DDL ou UTILITY.  | 
| texto  | character(200)  | O texto em SQL, em incrementos de 200 caracteres. Esse campo pode conter caracteres especiais como barra invertida (\\\\) e nova linha (\\n).  | 

## Consulta de exemplo
<a name="r_SVL_STATEMENTTEXT-sample-query"></a>

A consulta a seguir retorna as instruções em DDL que foram executadas em 16 de junho de 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;
...
```

### Reconstrução de SQL armazenado
<a name="r_SVL_STATEMENTTEXT-reconstruct-sql"></a>

Para reconstruir o SQL armazenado na coluna `text` de SVL\_STATEMENTTEXT, execute uma instrução SELECT para criar SQL a partir de uma ou mais partes na coluna `text`. Antes de executar o SQL reconstruído, substitua os caracteres especiais por uma nova linha (`\n`). O resultado da instrução SELECT a seguir são linhas de SQL reconstruído no 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();
```

Por exemplo, a consulta a seguir seleciona três colunas. A consulta em si tem mais de 200 caracteres e é armazenada em partes emSVL\_STATEMENTTEXT.

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

Nesse exemplo, a consulta é armazenada em duas partes (linhas) na coluna `text` de 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;
```

Para reconstruir o SQL armazenado em STL\_STATEMENTTEXT, execute o seguinte SQL. 

```
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();
```

Para usar o SQL reconstruído resultante em seu cliente, substitua os caracteres especiais por uma nova linha (`\n`). 

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