Поделиться через


Предложение APPEND для формирования данных

Предложение фигуры APPEND добавляет столбец или столбцы в набор записей. Часто эти столбцы являются столбцами глав, которые ссылаются на дочерний набор записей.

Синтаксис

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

Описание

Ниже приведены части этого предложения.

parent-command
Ноль или одно из следующих (можно полностью опустить родительскую команду ):

  • Команда поставщика, заключенная в фигурные скобки ("{}"), которая возвращает объект Recordset . Команда выдается базовому поставщику данных, и ее синтаксис зависит от требований этого поставщика. Обычно это язык SQL, хотя для ADO не требуется какой-либо конкретный язык запросов.

  • Другая команда фигуры, внедренная в круглые скобки.

  • Ключевое слово TABLE, за которым следует имя таблицы в поставщике данных.

родительский псевдоним
Необязательный псевдоним, ссылающийся на родительский набор записей.

column-list
Одно или несколько из следующих компонентов:

  • Агрегатный столбец.

  • Вычисляемый столбец.

  • Новый столбец, созданный с помощью предложения NEW.

  • Столбец главы. Определение столбца главы заключено в круглые скобки ("()"). См. следующий синтаксис.

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

Комментарии

дочерний набор записей

  • Команда поставщика, заключенная в фигурные скобки ("{}"), которая возвращает объект Recordset . Команда выдается базовому поставщику данных, и ее синтаксис зависит от требований этого поставщика. Обычно это язык SQL, хотя для ADO не требуется какой-либо конкретный язык запросов.

  • Другая команда фигуры, внедренная в круглые скобки.

  • Имя существующего набора записей в форме.

  • Ключевое слово TABLE, за которым следует имя таблицы в поставщике данных.

дочерний псевдоним
Псевдоним, ссылающийся на дочерний набор записей.

родительский столбец
Столбец в наборе записей, возвращаемый родительской командой.

дочерний столбец
Столбец в наборе записей, возвращаемый дочерней командой.

param-number
См . раздел Операция параметризованных команд.

псевдоним главы
Псевдоним, ссылающийся на столбец главы, добавленный к родительскому элементу.

Примечание

Предложение "родительский столбец TO дочерний столбец" на самом деле представляет собой список, где каждое определенное отношение отделяется запятыми.

Примечание

Предложение после ключевое слово APPEND фактически является списком, где каждое предложение отделяется запятой и определяет другой столбец, добавляемый к родительскому элементу.

При создании команд поставщика на основе введенных пользователем данных в рамках команды SHAPE, SHAPE будет рассматривать предоставленные пользователем команды поставщика как непрозрачную строку и передавать их поставщику точно. Например, в следующей команде SHAPE:

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

SHAPE выполнит две команды: select * from t1 и (select * from t2 RELATE k1 TO k2). Если пользователь предоставляет составную команду, состоящую из нескольких команд поставщика, разделенных точкой с запятой, SHAPE не сможет различить разницу. Поэтому в следующей команде SHAPE:

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

SHAPE выполняет select * from t1; drop table t1 и (select * from t2 RELATE k1 TO k2), не понимая, что drop table t1 является отдельной и в данном случае опасной командой поставщика. Приложения всегда должны проверять введенные пользователем данные, чтобы предотвратить такие потенциальные атаки хакеров.

Этот раздел содержит следующие подразделы.

См. также:

Пример формирования данных
Грамматика формального формирования данных
Общие сведения о командах формирования данных