

 Amazon Redshift ne prendra plus en charge la création de nouveaux UDFs Python à partir du patch 198. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement jusqu’au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Utilisez la vue SVL\_STATEMENTTEXT pour obtenir un enregistrement complet de toutes les commandes SQL qui ont été exécutées sur le système.

La vue SVL\_STATEMENTTEXT contient l’union de toutes les lignes des tables [STL\_DDLTEXT](r_STL_DDLTEXT.md), [STL\_QUERYTEXT](r_STL_QUERYTEXT.md) et [STL\_UTILITYTEXT](r_STL_UTILITYTEXT.md). Cette vue inclut aussi une jointure avec la table STL\_QUERY.

SVL\_STATEMENTTEXT est visible par tous les utilisateurs. Les super-utilisateurs peuvent voir toutes les lignes, tandis que les utilisateurs standard peuvent voir uniquement leurs propres données. Pour plus d’informations, consultez [Visibilité des données dans les tables et vues système](cm_chap_system-tables.md#c_visibility-of-data).

Tout ou partie des données de cette table sont également disponibles dans la vue de surveillance SYS [SYS\_QUERY\_HISTORY](SYS_QUERY_HISTORY.md). Les données de la vue de surveillance SYS sont formatées pour être plus faciles à utiliser et à comprendre. Nous vous recommandons d’utiliser la vue de surveillance SYS pour vos requêtes.

## Colonnes de la table
<a name="r_SVL_STATEMENTTEXT-table-columns"></a>


| Nom de la colonne  | Type de données  | Description  | 
| --- | --- | --- | 
| userid  | entier  | ID de l’utilisateur qui a généré l’entrée.  | 
| xid  | bigint  | ID de transaction associé à l’instruction.  | 
| pid  | entier  | ID de processus de l’instruction.  | 
| étiquette  | caractère (320)  | Le nom du fichier utilisé pour exécuter la requête ou une étiquette définie avec une commande SET QUERY\_GROUP. Si la requête n’est pas basée sur un fichier ou si le paramètre QUERY\_GROUP n’est pas défini, le champ est vide.  | 
| starttime  | timestamp | Heure exacte à laquelle l’instruction a démarré l’exécution, avec 6 chiffres de précision pour les fractions de secondes. Par exemple : 2009-06-12 11:29:19.131358  | 
| endtime  | timestamp | Heure exacte à laquelle l’instruction a fini l’exécution, avec 6 chiffres de précision pour les fractions de secondes. Par exemple : 2009-06-12 11:29:19.193640  | 
| sequence  | entier  | Lorsqu’une seule instruction contient plus de 200 caractères, des lignes supplémentaires sont enregistrées pour l’instruction. Sequence 0 correspond à la première ligne, 1 à la deuxième, et ainsi de suite.  | 
| type  | varchar(10)  | Type d’instruction SQL : QUERY, DDL ou UTILITY.  | 
| text  | character(200)  | Texte SQL, par incréments de 200 caractères. Ce champ peut contenir des caractères spéciaux tels qu’une barre oblique inverse (\\\\) et un caractère de saut de ligne (\\n).  | 

## Exemple de requête
<a name="r_SVL_STATEMENTTEXT-sample-query"></a>

La requête suivante renvoie les instructions DDL qui ont été exécutées le 16 juin 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;
...
```

### Reconstruction de SQL stocké
<a name="r_SVL_STATEMENTTEXT-reconstruct-sql"></a>

Pour reconstruire le SQL stocké dans la colonne `text` de SVL\_STATEMENTTEXT, exécutez une instruction SELECT pour créer SQL depuis une ou plusieurs parties de la colonne `text`. Avant d’exécuter le SQL reconstruit, remplacez tout caractère spécial (`\n`) par un saut de ligne. Le résultat de l’instruction SELECT suivante se compose de lignes de SQL reconstruit dans le champ `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();
```

Par exemple, la requête suivante sélectionne 3 colonnes. La requête elle-même contient plus de 200 caractères et est stockée dans plusieurs parties de SVL\_STATEMENTTEXT.

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

Dans cet exemple, la requête est stockée dans deux parties (lignes) de la colonne `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;
```

Pour reconstruire le SQL stocké dans STL\_STATEMENTTEXT, exécutez le SQL suivant. 

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

Pour utiliser le SQL reconstruit qui en résulte dans votre client, remplacez tout caractère spécial (`\n`) par un saut de ligne. 

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