

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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

 Einige Schlüsselwörter fungieren in RSQL als Variablen. Sie können jede auf einen bestimmten Wert festlegen oder den Wert erneut festlegen. Die meisten sind auf `\rset` festgelegt, das über einen interaktiven Modus und einen Batch-Modus verfügt. Befehle können in Klein- oder Großbuchstaben definiert werden.

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

 Gibt die Anzahl der Zeilen an, die von der zuletzt übermittelten Anfrage betroffen sind. Bei einer Datenrückgabeanforderung ist dies die Anzahl der Zeilen, die aus der Datenbank an RSQL zurückgegeben werden. Der Wert ist 0 oder eine positive ganze Zahl. Der Höchstwert beträgt 18.446.744.073.709.551.615. 

 Die speziell behandelte Variable `ACTIVITYCOUNT` ähnelt der Variable `ROW_COUNT`. Allerdings meldet `ROW_COUNT` die Anzahl der betroffenen Zeilen nach Beendigung des Befehls nicht an die Clientanwendung für `SELECT`, `COPY` oder `UNLOAD`. Aber `ACTIVITYCOUNT` meldet dies. 

activitycount\_01.sql:

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

Konsolenausgabe:

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

views do not exist
```

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

Weist Fehlern Schweregrade zu. Verwenden Sie den Schweregrad, um eine Aktion zu bestimmen. Wenn der `ERRORLEVEL`-Befehl nicht verwendet wurde, ist sein Wert standardmäßig `ON`.

errorlevel\_01.sql:

```
\rset errorlevel 42P01 severity 0

select * from tbl;

select 1 as col;

\echo exit
\quit
```

Konsolenausgabe:

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

col
1

exit
```

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

Ermöglicht Benutzern, einen Header anzugeben, der oben in einem Bericht angezeigt wird. Der durch den `RSET RTITLE`-Befehl angegebene Header enthält automatisch das aktuelle Systemdatum des Client-Computers.

Inhalt von rset\_heading\_rtitle\_02.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...
```

Konsolenausgabe:

```
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>

Gibt einen maximalen Fehlerschweregrad an, über den RSQL die Auftragsverarbeitung beendet. Rückgabecodes sind ganzzahlige Werte, die RSQL nach Beendigung jeder Aufgabe oder jedes Auftrags an das Client-Betriebssystem zurückgibt. Der Wert des Rückgabecodes gibt den Abschlussstatus des Auftrags oder Vorgangs an. Wenn ein Skript eine Anweisung enthält, die einen Fehlerschweregrad erzeugt, der größer als der festgelegte `maxerror`-Wert ist, wird RSQL sofort beendet. Verwenden Sie daher `RSET MAXERROR 7`, um eine RSQL-Beendigung bei einem Fehlerschweregrad von 8 zu erreichen.

Inhalt von maxerror\_01.sql:

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

\quit
```

Konsolenausgabe:

```
Maxerror is default.
(1 row)

col
1
```

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

Ermöglicht Benutzern, anzugeben, ob Einstellungen für die Formatierungsbefehle angewendet werden sollen.

Inhalt von rset\_rformat.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...
```

Konsolenausgabe:

```
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\_COUNT
<a name="rsql-query-tool-describe-rset-row_count"></a>

Ruft die Anzahl der Datensätze ab, die von der vorherigen Abfrage betroffen sind. Es wird normalerweise verwendet, um ein Ergebnis zu überprüfen, wie im folgenden Codefragment:

```
SET result = ROW_COUNT;

IF result = 0
...
```

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

Mit diesem Steuerelement können Benutzer angeben, ob eine Zeile von Strichzeichen über den für SQL-Anweisungen zurückgegebenen Spaltendaten gedruckt werden soll.

Beispiel:

```
\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;
```

Konsolenausgabe:

```
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>

Legt das Ausgabeformat auf umgebrochen fest und gibt die Zielbreite für jede Zeile in einem Bericht an. Ohne einen Parameter gibt es die aktuellen Einstellungen sowohl für das Format als auch für die Zielbreite zurück.

Inhalt von rset\_width\_01.rsql:

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

Konsolenausgabe:

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

Beispiel mit Parameter:

```
\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...
```

Konsolenausgabe:

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