La copia parcial de datos se puede realizar de una vista de origen en una tabla o vista de destino si se especifican una cláusula WHERE y columnas clave. Este proceso es similar a la copia parcial de tablas de datos.
<views> <view selection="included" copyData="true"> <name>deptsals</name> <database>MyDb</database> <view_data_table> <target_table>TargetTable</target_table> <target_database>TargetDb</target_database> </view_data_table> <staging_database> <name>TargetDb_Staging</name> </staging_database> <compare_ddl>true</compare_ddl> <sql_where_clause><![CDATA[ WHERE "deptsals"."employee_number" = 1]]></sql_where_clause> <key_columns> <key_column>employee_number</key_column> </key_columns> </view> </views>
En el ejemplo anterior, se utiliza una sentencia SELECT con una cláusula WHERE para seleccionar datos de la vista donde "employee_number" = 1 y cargar los datos parciales en la tabla de destino. Las columnas clave se deben especificar cuando se indica una cláusula WHERE de SQL.
Cuando se realiza una copia parcial de datos de vista en una vista de destino, primero se copian las filas completas en una tabla de transferencia provisional. Después de copiar las filas en la tabla de transferencia provisional, se copian los registros completos de la cláusula WHERE de la tabla de transferencia provisional en la vista de destino. Este proceso es similar a una copia parcial de tabla cuando la tabla de destino existe con datos.