Compartilhar via


Cláusula SHAPE APPEND

A cláusula APPEND do comando shape acrescenta uma ou mais colunas a um conjunto de registros . Frequentemente, essas colunas são colunas de capítulo, que se referem a um Conjunto de Registros filho .

Sintaxe

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

Descrição

As partes desta cláusula são as seguintes:

comando principal
Zero ou um dos seguintes (você pode omitir completamente o comando pai ):

  • Um comando de provedor entre chaves ("{}") que retorna um objeto Recordset . O comando é emitido para o provedor de dados subjacente e sua sintaxe depende dos requisitos desse provedor. Normalmente, essa será a linguagem SQL, embora o ADO não exija nenhuma linguagem de consulta específica.

  • Outro comando de forma inserido em parênteses.

  • A palavra-chave TABLE, seguida pelo nome de uma tabela no provedor de dados.

pai-alias
Um alias opcional que se refere ao Conjunto de Registros pai .

lista de colunas
Um ou mais dos seguintes:

  • Uma coluna de agregação.

  • Uma coluna calculada.

  • Uma nova coluna criada usando a cláusula NEW.

  • Uma coluna de capítulo. Uma definição de coluna de capítulo está entre parênteses ("()"). Confira a sintaxe a seguir.

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

Observações

conjunto de registros filho

  • Um comando de provedor entre chaves ("{}") que retorna um objeto Recordset . O comando é emitido para o provedor de dados subjacente e sua sintaxe depende dos requisitos desse provedor. Normalmente, essa será a linguagem SQL, embora o ADO não exija nenhuma linguagem de consulta específica.

  • Outro comando de forma inserido em parênteses.

  • O nome de um conjunto de registros existente em forma.

  • A palavra-chave TABLE, seguida pelo nome de uma tabela no provedor de dados.

filho-alias
Um alias que se refere ao conjunto de registros filho .

coluna pai
Uma coluna no conjunto de registros retornada pelo comando pai .

coluna filho
Uma coluna no conjunto de registros , retornada pelo comando filho .

número de parâmetro
Consulte operação de comandos parametrizados.

alias de capítulo
Um alias que se refere à coluna de capítulo acrescentada ao pai.

Nota

A cláusula " da coluna pai PARA da coluna filho" é, na verdade, uma lista, onde cada relação definida é separada por uma vírgula.

Nota

A cláusula após a palavra-chave APPEND é, na verdade, uma lista, em que cada cláusula é separada por uma vírgula e define outra coluna a ser acrescentada à estrutura pai.

Quando você constrói comandos de provedor a partir da entrada do usuário como parte de um comando SHAPE, SHAPE tratará o comando de provedor fornecido pelo usuário como uma cadeia de caracteres opaca e os passará fielmente para o provedor. Por exemplo, no seguinte comando SHAPE,

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

SHAPE executará dois comandos: select * from t1 e (select * from t2 RELATE k1 TO k2). Se o usuário fornecer um comando composto que consiste em vários comandos de provedor separados por ponto-e-vírgula, SHAPE não poderá distinguir a diferença. Portanto, no seguinte comando SHAPE,

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

SHAPE executa select * from t1; drop table t1 e (select * from t2 RELATE k1 TO k2), não percebendo que drop table t1 é um comando separado e, nesse caso, perigoso, do provedor. Os aplicativos sempre devem validar a entrada do usuário para evitar que ataques de hackers em potencial ocorram.

Esta seção contém os tópicos a seguir.

Consulte Também

Exemplo de Modelagem de Dados
Gramática de Forma Formal
Comandos de Forma em Geral