Wenn Werte für Platzhalter in Benutzervariablen oder in einem Deskriptorbereich bereitgestellt werden (EXECUTE...USING, OPEN...USING), gelten folgende Regeln:
Der Datentyp des Eingabewerts muss mit dem Datentyp des Platzhalters verträglich sein, der sich aus der Position des Platzhalters ergibt (siehe Abschnitt „Regeln für Platzhalter").
Werte für atomare Platzhalter und multiple Platzhalter mit Dimension 1 können über eine einfache Benutzervariable, einen Vektor mit einem Element oder über einen Deskriptorbereichseintrag bereitgestellt werden.
Platzhalter für Aggregate mit einer Dimension d > 1 können über einen Vektor mit d Elementen bereitgestellt werden oder über d aufeinanderfolgende Deskriptorbereichseinträge..
Abhängig vom Datentyp gelten zusätzlich datentypspezifische Regeln. Diese sind im Folgenden zusammengestellt.
Zeichenketten
Sie können für einen Platzhalter mit alphanumerischem Datentyp den Wert aus einer Benutzervariable oder einem Deskriptorbereichseintrag mit alphanumerischem Datentyp verwenden. Für einen Platzhalter mit National-Datentyp können Sie den Wert aus einer Benutzervariable oder einem Deskriptorbereichseintrag mit National-Datentyp verwenden. Dabei gilt:
Ist der Zieldatentyp CHAR oder NCHAR und die Länge des Werts kleiner als die Länge des Zieldatentyps, wird der Wert am Ende mit Leerzeichen ergänzt.
Ist der Zieldatentyp CHAR oder NCHAR und die Länge des Werts größer als die Länge des Zieldatentyps, wird der Wert am Ende auf die Länge des Zieldatentyps gekürzt. Werden Zeichen entfernt, die keine Leerzeichen sind, wird eine Warnung erzeugt.
Ist der Zieldatentyp VARCHAR oder NVARCHAR und die Länge des Werts größer als die maximale Länge des Zieldatentyps, wird der Wert am Ende auf die maximale Länge des Zieldatentyps gekürzt. Werden Zeichen entfernt, die keine Leerzeichen sind, wird eine Warnung erzeugt.
Numerische Werte
Sie können für einen Platzhalter mit numerischem Datentyp den Wert aus einer Benutzervariable oder einem Deskriptorbereichseintrag mit numerischem Datentyp verwenden. Stimmen die numerischen Datentypen nicht überein, wird der Wert in den Zieldatentyp konvertiert. Dabei gilt:
Ist die Nachkommastellenzahl des Werts für den Zieldatentyp zu groß, wird der Wert gerundet.
Ist der Betrag des Werts für den Zieldatentyp zu groß, wird der Wert nicht eingetragen, sondern eine Fehlermeldung erzeugt.
Zeitwerte
Sie können für einen Platzhalter mit einem Zeit-Datentyp nur den Wert aus einer Benutzervariable oder einem Deskriptorbereichseintrag mit gleichem Datentyp verwenden:
ein Datum für einen Platzhalter mit Datentyp DATE
eine Uhrzeit für einen Platzhalter mit Datentyp TIME
einen Zeitstempel für einen Platzhalter mit Datentyp TIMESTAMP