Acerca de actualizar datos utilizando SQL
Después de cargar una gran cantidad de datos en su geodatabase, podría querer actualizar muchos valores de atributo a la vez. En el caso de una geodatabase de ArcSDE, puede hacerlo versionando los datos y, a continuación, editándolos en ArcMap para realizar la actualización. El problema con esta aproximación es que todas las entidades actualizadas estarán en las tablas delta; debe comprimir su base de datos para mover las entidades actualizadas a las tablas de base.
Otra aproximación consiste en realizar las actualizaciones del atributo masivo, que se puede realizar utilizando SQL antes de versionar los datos. Utilizar esta aproximación significa que estas actualizaciones masivas se hacen antes de versionar la base de datos y todas las entidades permanecen en las tablas de base.
Existen algunas reglas que se aplican para realizar las actualizaciones con SQL. Es importante entender sus modelos de datos de forma que los atributos que actualiza no afecten a otros objetos en la base de datos por medio de relaciones u otro comportamiento. Utilizar SQL para esta operación sin entender profundamente su modelo de datos puede dar lugar a la corrupción de los datos. Por ejemplo, si utiliza SQL para modificar los atributos de una entidad a partir de la cual se deriva el texto para una anotación vinculada a entidad, las entidades de anotación no se convertirán en mensajes para actualizarse a sí mismas, de forma que la anotación y la entidad no estarán sincronizadas. Cuando estos atributos se actualizan en ArcGIS, se ejecuta todo el comportamiento necesario.
A continuación se muestra una lista con algunas directrices importantes a la hora de realizar actualizaciones con SQL fuera del contexto de ArcGIS:
- No actualice nunca los registros en SQL después de versionar sus datos.
- Al actualizar los datos utilizando SQL, no modifique los atributos que, a través del comportamiento de geodatabase, afecten a otros objetos en la base de datos.
- No actualice nunca el campo ObjectID con SQL.
- No actualice nunca el campo Habilitado o AncillaryRole o un campo de peso para una clase de entidad de red geométrica utilizando SQL. Cuando estos campos se actualizan a través de ArcGIS, da lugar a cambios en las tablas de la topología de red geométrica que no desencadena SQL.
- No actualice nunca los campos Elemento, ID de símbolo, TextString, FontName, FontSize, Negrita, Cursiva, Subrayado, VerticalAlignment, HorizontalAlignment, XOffset, YOffset, Ángulo, FontLeading, WordSpacing, CharacterWidth, CharacterSpacing, FlipAngle o Invalidación/Excepción de una clase de entidad de anotación. Cuando estos campos se actualizan a través de ArcGIS, da lugar a cambios en el elemento BLOB de la entidad que no desencadena SQL. Cuando actualiza estos campos utilizando SQL fuera de ArcGIS, los campos de símbolo de texto asociados con cada entidad de anotación para todas las filas actualizadas no se actualizan.