

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner 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.

# Variables Amazon Redshift RSQL
<a name="rsql-query-tool-variables"></a>

 Certains mots-clés agissent comme des variables dans RSQL. Vous pouvez définir chacun une valeur spécifique ou réinitialiser la valeur. La plupart sont réglées avec `\rset`, qui dispose d’un mode interactif et d’un mode de traitement par lots. Les commandes peuvent être définies en minuscules ou en majuscules.

## ACTIVITYCOUNT
<a name="rsql-query-tool-activitycount"></a>

 Indique le nombre de lignes affectées par la dernière demande envoyée. Pour une demande renvoyant des données, il s’agit du nombre de lignes renvoyées vers RSQL à partir de la base de données. La valeur est 0 ou un nombre entier positif. La valeur maximale est 18 446 744 073 709 551 615. 

 La variable spécialement traitée `ACTIVITYCOUNT` est semblable à la variable `ROW_COUNT`. Toutefois, `ROW_COUNT` ne signale pas le nombre de lignes affectées à l’application cliente à la fin de la commande pour `SELECT`, `COPY` ou `UNLOAD`. Mais `ACTIVITYCOUNT` le fait. 

activitycount\$101.sql :

```
select viewname, schemaname
from pg_views
where schemaname = 'not_existing_schema';
\if :ACTIVITYCOUNT = 0
\remark 'views do not exist'
\endif
```

Sortie de la console :

```
viewname | schemaname
----------+------------
(0 rows)

views do not exist
```

## ERRORLEVEL
<a name="rsql-query-tool-describe-rset-errorlevel"></a>

Attribue des niveaux de sévérité aux erreurs. Utilisez les niveaux de sévérité pour déterminer un plan d’action. Si la commande `ERRORLEVEL` n’a pas été utilisée, sa valeur par défaut est `ON`.

errorlevel\$101.sql :

```
\rset errorlevel 42P01 severity 0

select * from tbl;

select 1 as col;

\echo exit
\quit
```

Sortie de la console :

```
Errorlevel is on.
rsql: ERROR: relation "tbl" does not exist
(1 row)

col
1

exit
```

## HEADING et RTITLE
<a name="rsql-query-tool-describe-rset-heading-rtitle"></a>

Permet aux utilisateurs de spécifier un en-tête qui s’affiche dans la partie supérieure d’un rapport. L’en-tête spécifiée par la commande `RSET RTITLE` inclut automatiquement la date système actuelle de l’ordinateur client.

Contenu rset\$1heading\$1rtitle\$102.rsql :

```
\remark Starting...
\rset rtitle "Marketing Department||Confidential//Third Quarter//Chicago"
\rset width 70
\rset rformat on
select * from rsql_test.tbl_currency order by id limit 2;
\exit
\remark Finishing...
```

Sortie de la console :

```
Starting...
Rtitle is set to: &DATE||Marketing Department||Confidential//Third Quarter//Chicago (Changes will take effect after RFORMAT is
switched ON)
Target width is 70.
Rformat is on.
09/11/20       Marketing       Department Confidential
                  Third Quarter
                     Chicago
id  | bankid  | name |      start_date
100 |       1 | USD | 2020-09-11 10:51:39.106905
110 |       1 | EUR | 2020-09-11 10:51:39.106905
(2 rows)

Press any key to continue . . .
```

## MAXERROR
<a name="rsql-query-tool-describe-rset-maxerror"></a>

Désigne un niveau de sévérité d’erreur maximal au-delà duquel RSQL met fin au traitement des tâches. Les codes de retour sont des valeurs entières que RSQL renvoie au système d’exploitation client après avoir terminé chaque tâche. La valeur du code de retour indique l’état d’achèvement de la tâche. Si un script contient une instruction qui produit un niveau de sévérité d’erreur supérieur à la valeur `maxerror` désignée, RSQL s’interrompt immédiatement. Par conséquent, pour que RSQL s’interrompt à un niveau de sévérité d’erreur de 8, utilisez `RSET MAXERROR 7`.

Contenu maxerror\$101.sql :

```
\rset maxerror 0
                        
select 1 as col;

\quit
```

Sortie de la console :

```
Maxerror is default.
(1 row)

col
1
```

## RFORMAT
<a name="rsql-query-tool-describe-rset-heading-rformat"></a>

Permet aux utilisateurs de spécifier s’il faut appliquer des paramètres aux commandes de formatage.

Contenu rset\$1rformat.rsql :

```
\remark Starting...
\pset border 2
\pset format wrapped
\pset expanded on
\pset title 'Great Title'
select * from rsql_test.tbl_long where id = 500;
\rset rformat
select * from rsql_test.tbl_long where id = 500;
\rset rformat off
select * from rsql_test.tbl_long where id = 500;
\rset rformat on
select * from rsql_test.tbl_long where id = 500;
\exit
\remark Finishing...
```

Sortie de la console :

```
Starting...
Border style is 2. (Changes will take effect after RFORMAT is switched ON)
Output format is wrapped. (Changes will take effect after RFORMAT is switched ON)
Expanded display is on. (Changes will take effect after RFORMAT is switched ON)
Title is "Great Title". (Changes will take effect after RFORMAT is switched ON)
id  |                                                             long_string
500 | In general, the higher the number the more borders and lines the tables will have, but details depend on the particular
format.
(1 row)

Rformat is on.
Great Title
+-[ RECORD 1 ]+----------------------------------------------------------------------------------------------------------------------
-----------+
| id           | 500
|
| long_string | In general, the higher the number the more borders and lines the tables will have, but details depend on the
particular format. |
+-------------+----------------------------------------------------------------------------------------------------------------------
-----------+

Rformat is off.
id  |                                                             long_string
500 | In general, the higher the number the more borders and lines the tables will have, but details depend on the particular format.
(1 row)

Rformat is on.
Great Title
+-[ RECORD 1 ]+----------------------------------------------------------------------------------------------------------------------
-----------+
| id           | 500
|
| long_string | In general, the higher the number the more borders and lines the tables will have, but details depend on the
particular format. |
+-------------+----------------------------------------------------------------------------------------------------------------------
-----------+
Press any key to continue . . .
```

## ROW\$1COUNT
<a name="rsql-query-tool-describe-rset-row_count"></a>

Obtient le nombre d’enregistrements affectés par la requête précédente. Il est généralement utilisé pour vérifier un résultat, comme dans le fragment de code suivant :

```
SET result = ROW_COUNT;

IF result = 0
...
```

## TITLEDASHES
<a name="rsql-query-tool-describe-rset-heading-titledashes"></a>

Ce contrôle permet aux utilisateurs de spécifier si une ligne de caractères de tiret doit être imprimée au-dessus des données de colonne renvoyées pour les instructions SQL.

Exemple :

```
\rset titledashes on
select dept_no, emp_no, salary from rsql_test.EMPLOYEE
where dept_no = 100;
\rset titledashes off
select dept_no, emp_no, salary from rsql_test.EMPLOYEE
where dept_no = 100;
```

Sortie de la console :

```
dept_no      emp_no          salary
----------- ----------- --------------------
100         1000346        1300.00
100         1000245        5000.00
100         1000262        2450.00

dept_no     emp_no         salary
100         1000346        1300.00
100         1000245        5000.00
100         1000262        2450.00
```

## WIDTH
<a name="rsql-query-tool-describe-rset-heading-width"></a>

Définit le format de sortie sur encapsulé et spécifie la largeur cible de chaque ligne d’un rapport. Sans paramètre, il renvoie les paramètres actuels pour le format et la largeur cible.

Contenu rset\$1width\$101.rsql :

```
\echo Starting...
\rset width
\rset width 50
\rset width
\quit
\echo Finishing...
```

Sortie de la console :

```
Starting...
Target width is 75.
Target width is 50.
Target width is 50.
Press any key to continue . . .
```

Exemple avec paramètre :

```
\echo Starting...
\rset rformat on
\pset format wrapped
select * from rsql_test.tbl_long where id = 500;
\rset width 50
select * from rsql_test.tbl_long where id = 500;
\quit
\echo Finishing...
```

Sortie de la console :

```
Starting...
Rformat is on.
Output format is wrapped.
id  |                                          long_string
500 | In general, the higher the number the more borders and lines the ta.
    |.bles will have, but details depend on the particular format.
(1 row)

Target width is 50.
id  |                                          long_string
500 | In general, the higher the number the more.
    |. borders and lines the tables will have, b.
    |.ut details depend on the particular format.
    |..
(1 row)
Press any key to continue . . .
```