Cláusula Shape Append
Aplica-se ao: Access 2013, Office 2013
A cláusula APPEND do comando shape acrescenta uma ou mais colunas a um Recordset. Em geral, essas colunas referem-se a capítulos, que se referem a um Recordset filho .
Sintaxe
SHAPE [parent-command [[AS] parent-alias]] APPEND column-list
Descrição
As partes dessa cláusula são as seguintes:
parent-command
Zero ou um dos itens a seguir (você pode omitir parent-command completamente):
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. Em geral, será usada a linguagem SQL, embora o ADO não exija nenhuma linguagem de consulta específica.
Um outro comando shape entre parênteses.
A palavra-chave TABLE, seguida do nome de uma tabela no provedor de dados.
parent-alias
- Um alias opcional que se refere ao Recordset pai.
column-list
Um ou mais itens a seguir:
Uma coluna agregada.
Uma coluna calculada.
Uma nova coluna criada com a cláusula NEW.
Uma coluna de capítulo. Uma definição dessa coluna é exibida entre parênteses ("()"). Consulte 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] [, ... ]
child-recordset
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. Em geral, será usada a linguagem SQL, embora o ADO não exija nenhuma linguagem de consulta específica.
Um outro comando shape entre parênteses.
O nome de um Recordset com formato existente.
A palavra-chave TABLE, seguida do nome de uma tabela no provedor de dados.
child-alias
- Um alias que se refere ao Recordset filho.
parent-column
- Uma coluna em Recordset retornada por parent-command.
child-column
- Uma coluna em Recordset retornada por child-command.
param-number
- Consulte Operação dos comandos com parâmetros.
chapter-alias
- Um alias que se refere à coluna de capítulo acrescentada ao pai.
Observação
- A cláusula "pai-coluna TO child-column" é, na verdade, uma lista, em que cada relação definida é separada por uma vírgula.
- A cláusula após a palavra-chave APPEND na verdade é uma lista, na qual cada cláusula é separada por uma vírgula e define uma outra coluna a ser acrescentada ao pai.
Comentários
Quando você construir os 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 sequência opaca e o passará fielmente ao provedor. Por exemplo, no comando SHAPE a seguir,
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 emitir um comando composto contendo vários comandos de provedor separados por ponto-e-vírgula, SHAPE não conseguirá diferenciar. Portanto, no comando SHAPE a seguir,
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), sem perceber que drop table t1 é um comando de provedor separado e, neste caso, perigoso. Os aplicativos devem sempre validar a entrada do usuário para impedir possíveis ataques de hacker como esse.
Esta seção inclui os seguintes tópicos: