Cómo crear una cadena estándar, delimitada por comillas

Cómo:

Referencia:

Las cadenas de caracteres deben estar colocadas entre comillas simples para poder ser manipuladas por la mayoría de los motores de bases de datos. Además, las comillas simples insertadas se indican mediante dos comillas individuales, contiguas. El uso de las comillas alrededor de una variable que contenga delimitadores, como espacios o comas, es obligatorio.

El sufijo QUOTEDSTRING, en una variable de Dialogue Manager, aplica las dos siguientes conversiones al contenido de la variable:

Los comandos de Dialogue Manager difieren en cuanto a su capacidad de manipulación de cadenas de caracteres que no estén entre comillas simples y contengan espacios en blanco insertados. Los comandos -PROMPT, explícitos o implícitos, sí pueden leer estas cadenas. A continuación, se coloca entre comillas simples la totalidad de la cadena de entrada, cuando se utiliza .QUOTEDSTRING para operar en ella.

Nota: Al usar el comando -SET para hacer referencia a una cadena de caracteres, asegúrese de que ésta se encuentre entre comillas simples, para evitar errores.


Principio de página

x
Sintaxis: Cómo Crear una cadena de caracteres estándar, delimitada por comillas
&var.QUOTEDSTRING

donde:

&var

Es una variable de Dialogue Manager.



Ejemplo: Cómo crear una cadena de caracteres estándar, delimitada por comillas

El siguiente ejemplo muestra el resultado del sufijo QUOTEDSTRING en las cadenas de entrada.

-SET &A = ABC;
-SET &B = 'ABC';
-SET &C = O'BRIEN;
-SET &D = 'O'BRIEN';
-SET &E = 'O''BRIEN';
-SET &F = O''BRIEN;
-SET &G = OBRIEN';
-TYPE  ORIGINAL = &A QUOTED = &A.QUOTEDSTRING
-TYPE  ORIGINAL = &B QUOTED = &B.QUOTEDSTRING
-TYPE  ORIGINAL = &C QUOTED = &C.QUOTEDSTRING
-TYPE  ORIGINAL = &D QUOTED = &D.QUOTEDSTRING
-TYPE  ORIGINAL = &E QUOTED = &E.QUOTEDSTRING
-TYPE  ORIGINAL = &F QUOTED = &F.QUOTEDSTRING
-TYPE  ORIGINAL = &G QUOTED = &G.QUOTEDSTRING

La salida es:

ORIGINAL = ABC        QUOTED = 'ABC'
ORIGINAL = ABC        QUOTED = 'ABC'
ORIGINAL = O'BRIEN    QUOTED = 'O''BRIEN'
ORIGINAL = O'BRIEN    QUOTED = 'O''BRIEN'
ORIGINAL = O'BRIEN    QUOTED = 'O''BRIEN'
ORIGINAL = O''BRIEN   QUOTED = 'O''''BRIEN'
ORIGINAL = OBRIEN'    QUOTED = 'OBRIEN'''

Nota: El comando -SET elimina las comillas simples alrededor de una cadena. Observe que, en el ejemplo de más arriba, el resultado de -SET &B = 'ABC' fue cambiado a ORIGINAL = ABC (como indica la salida), antes de la conversión de QUOTEDSTRING.



Ejemplo: Cómo convertir la entrada del usuario en una cadena de caracteres estándar, delimitada por comillas

El siguiente comando -TYPE acepta la entrada con o sin comillas, y presenta la salida entrecomillada.

-TYPE THE QUOTED VALUE IS: &E.QUOTEDSTRING

La salida es:



Ejemplo: Cómo usar cadenas delimitadas por comillas con adaptadores de datos relacionales

La siguiente solicitud crea una tabla Oracle llamada SQLVID, a partir del origen de datos VIDEOTRK.

TABLE FILE VIDEOTRK
SUM CUSTID EXPDATE PHONE STREET CITY STATE ZIP
   TRANSDATE PRODCODE TRANSCODE QUANTITY TRANSTOT
BY LASTNAME BY FIRSTNAME
WHERE LASTNAME NE 'NON-MEMBER'
ON TABLE HOLD
END
-RUN
CREATE FILE SQLVID
-RUN
MODIFY FILE SQLVID
FIXFORM FROM HOLD
DATA ON HOLD
END

Examine la siguiente solicitud de SQL Translator:

SET TRACEUSER = ON
SET TRACEON = STMTRACE//CLIENT
SQL
SELECT *
FROM SQLVID WHERE LASTNAME  = &1.QUOTEDSTRING;
END

Al ejecutarse esta solicitud debe introducir un apellido, en este caso, O'BRIEN:

PLEASE SUPPLY VALUES REQUESTED
1=
O'BRIEN

En la solicitud de SQL generada, la cadena de caracteres empleada en la comparación aparece, de forma correcta, entre comillas simples, mientras que la comilla simple, insertada, aparece doblada:

SELECT SQLCOR01.CIN , SQLCOR01.LN , SQLCOR01.FN ,
SQLCOR01.EXDAT , SQLCOR01.TEL , SQLCOR01.STR , SQLCOR01.CITY ,
SQLCOR01.PROV , SQLCOR01.POSTAL_CODE , SQLCOR01.OUTDATE ,
SQLCOR01.PCOD , SQLCOR01.TCOD , SQLCOR01.NO , SQLCOR01.TTOT
FROM SQLVID SQLCOR01  WHERE SQLCOR01.LN  = 'O''BRIEN';

Las siguientes variaciones de la entrada se traducen a la forma correcta de la cadena entrecomillada, mostrada en el seguimiento.

'O'BRIEN'
'O''BRIEN'

Cualquier otra variación resulta en:

Las cadenas sin comillas simples, insertadas, pueden introducirse sin comillas o insertadas entre comillas simples: SMITH o 'SMITH'.

Si usa & sin el sufijo QUOTEDSTRING en la solicitud, éstas son las cadenas de entrada aceptables, que recuperan el registro de O'Brien:

'''O'''BRIEN'''
'''O''''BRIEN'''

Si emplea &1 sin el sufijo QUOTEDSTRING, la forma aceptable de introducir una cadena sin comillas simples, insertadas, es '''SMITH'''.

Para que la cadena entre comillas simples resulte aceptable, sin el sufijo QUOTEDSTRING, emplee '&1' en la solicitud. En este caso, para recuperar el registro de O'Brien, debe introducir la cadena que se hubiese producido con el sufijo QUOTEDSTRING:

'O''''BRIEN'

Para introducir una cadena sin comillas simples, insertadas, utilizando '&1', omita o incluya las comillas simples, circundantes: SMITH o 'SMITH'.

Nota: La forma '&1.QUOTEDSTRING' no es compatible.


Principio de página

x
Referencia: Notas de uso de las cadenas de caracteres delimitadas por comillas

WebFOCUS