Compartir a través de


Cláusula de APPEND para la forma

La cláusula APPEND del comando Shape anexa una columna o columnas a un Recordset de . Con frecuencia, estas columnas son columnas de capítulo, que hacen referencia a un objeto Recordset secundario .

Sintaxis

SHAPE [parent-command [[AS] parent-alias]] APPEND column-list  

Descripción

Las partes de esta cláusula son las siguientes:

comando principal
Cero o uno de los siguientes (puede omitir completamente el comando principal):

  • Un comando de proveedor entre llaves ("{}") que devuelve un objeto Recordset de . El comando se emite al proveedor de datos subyacente y su sintaxis depende de los requisitos de ese proveedor. Normalmente, este será el lenguaje SQL, aunque ADO no requiere ningún lenguaje de consulta determinado.

  • Otro comando de forma incrustado entre paréntesis.

  • La palabra clave TABLE, seguida del nombre de una tabla en el proveedor de datos.

alias principal
Un alias opcional que hace referencia al conjunto de registros principal .

lista de columnas
Uno o varios de los siguientes:

  • Una columna agregada.

  • Columna calculada.

  • Una nueva columna creada mediante la cláusula NEW.

  • Una columna de capítulo. Una definición de columna de capítulo se incluye entre paréntesis ("()"). Consulte la sintaxis siguiente.

SHAPE [parent-command [[AS] parent-alias]]  
   APPEND (child-recordset [ [[AS] child-alias]   
      RELATE parent-column TO child-column | PARAMETER param-number, ... ])  
   [[AS] chapter-alias]   
   [, ... ]  

Observaciones

conjunto de registros secundarios

  • Comando de proveedor entre llaves ("{}") que devuelve un objeto Recordset de . El comando se emite al proveedor de datos subyacente y su sintaxis depende de los requisitos de ese proveedor. Normalmente, este será el lenguaje SQL, aunque ADO no requiere ningún lenguaje de consulta determinado.

  • Otro comando de forma incrustado entre paréntesis.

  • Nombre de un Recordset con forma existente .

  • La palabra clave TABLE, seguida del nombre de una tabla en el proveedor de datos.

alias de hijo
Un alias que hace referencia al recordset hijo .

columna principal
Columna en el conjunto de registros devuelta por el comando principal .

de columna secundaria
Una columna en el conjunto de registros devuelta por el comando hijo .

número param
Consulte operación de comandos con parámetros.

alias de capítulo
Alias que hace referencia a la columna de capítulo anexada al elemento primario.

Nota

La cláusula "columna padre A columna hijo" es de hecho una lista, en la que cada relación definida está separada por una coma.

Nota

La cláusula después de la palabra clave APPEND es realmente una lista, donde cada cláusula está separada por una coma y define otra columna que se va a anexar al elemento primario.

Al construir comandos de proveedor a partir de la entrada del usuario como parte de un comando SHAPE, SHAPE tratará el comando de proveedor proporcionado por el usuario como una cadena opaca y lo pasará fielmente al proveedor. Por ejemplo, en el siguiente comando SHAPE,

SHAPE {select * from t1} APPEND ({select * from t2} RELATE k1 TO k2)  

SHAPE ejecutará dos comandos: select * from t1 y (select * from t2 RELATE k1 TO k2). Si el usuario proporciona un comando compuesto que consta de varios comandos de proveedor separados por punto y coma, SHAPE no puede distinguir la diferencia. Por lo tanto, en el siguiente comando SHAPE,

SHAPE {select * from t1; drop table t1} APPEND ({select * from t2} RELATE k1 TO k2)  

SHAPE ejecuta select * from t1; drop table t1 yselect * from t2 RELATE k1 TO k2), sin darse cuenta de que drop table t1 es un comando de proveedor independiente y, en este caso, peligroso. Las aplicaciones siempre deben validar la entrada del usuario para evitar que se produzcan estos posibles ataques de hacker.

Esta sección contiene los temas siguientes.

Consulte también

Ejemplo de modelado de datos
gramática de formas formales
Comandos generales de forma