Alternatives pour les apostrophes dans les littéraux de chaînes de caractères
Au lieu d’une double apostrophe (échappée), vous pouvez utiliser un autre caractère ou une paire de caractères.
Le mot-clé q
ou Q
précédant une chaîne de caractères entre guillemets indique à l’analyseur syntaxique que certaines paires gauche et droite de mêmes caractères sont des délimiteurs pour le littéral de chaîne intégré.
<alternate string literal> ::= { q | Q } <quote> <alternate start char> [ { <char> }... ] <alternate end char> <quote>
Note
|
Règles d’utilisation
Lorsque <caractère alternatif de début> est l’un des caractères '(', '{', '[' ou '<', alors <caractère alternatif de fin> doit êtreutilisé en conjonction avec un `partenaire' approprié, tel que ')', '}', ']' ou '>'. Dans les autres cas, <caractère de fin alternatif> est le même que <caractère de début alternatif>. À l’intérieur d’une chaîne de caractères, c’est-à-dire des éléments <char>, il est possible d’utiliser des guillemets simples (non masqués).Chaque guillemet fera partie de la chaîne de caractères résultante. |
-- result: abc{def}ghi
SELECT Q'{abc{def}ghi}' FROM rdb$database;
-- result: That's a string
SELECT Q'!That's a string!' FROM rdb$database;
EXECUTE BLOCK
RETURNS (
RDB$TRIGGER_NAME CHAR(64)
)
AS
DECLARE VARIABLE S VARCHAR(8191);
BEGIN
S = 'SELECT RDB$TRIGGER_NAME FROM RDB$TRIGGERS WHERE RDB$RELATION_NAME IN ';
S = S || Q'! ('SALES_ORDER', 'SALES_ORDER_LINE')!';
FOR
EXECUTE STATEMENT :S
INTO :RDB$TRIGGER_NAME
DO
SUSPEND;
END