Mise à jour de données non versionnées de géodatabase dans Informix avec SQL

Vous pouvez utiliser SQL pour mettre à jour, insérer des données et supprimer des données de tables non versionnées dans la géodatabase si elles ne participent pas au comportement de la géodatabase. Reportez-vous à la rubrique Type de données pouvant être modifié avec SQL pour plus d'informations sur les types de données et de comportement de géodatabase que vous ne pouvez pas modifier avec SQL.

Toutes les données enregistrées avec la géodatabase possèdent une colonne d'identifiant d'objet (ID de ligne) gérée par le système, unique et non nulle. Lorsque vous utilisez SQL pour insérer des enregistrements dans des tables non versionnées de la géodatabase, vous devez fournir une valeur unique pour la colonne d'identifiant d'objet.

Ces instructions expliquent la procédure de mise à jour, ligne par ligne. Vous écrirez probablement une routine ou un programme client pour récupérer des identifiants d'objet et mettre à jour vos données.

Étapes :
  1. Connectez-vous à la base de données à partir d'un éditeur SQL, tel que I-SQL.

    Connectez-vous à la base de données avec un nom d'utilisateur autorisé à modifier les données.

  2. Interrogez la table table_registry pour trouver l'ID d'enregistrement et le propriétaire de la table dans laquelle vous souhaitez insérer un enregistrement.

    Dans cet exemple, l'ID d'enregistrement et le nom du propriétaire de la table factories sont renvoyés.

    SELECT owner,registration_id,table_name
    FROM sde.table_registry
    WHERE table_name='factories';
    
    owner    registration_id    table_name
    editor1         7           factories
  3. Connectez-vous pour exécuter la fonction next_row_id et obtenir la prochaine valeur d'identifiant de ligne disponible.
  4. Exécutez la fonction next_row_id. Cette fonction est la propriété de l'utilisateur sde.

    Dans cet exemple, editor1 est le propriétaire de la table et 7 est l'ID d'enregistrement de la table factories.

    EXECUTE FUNCTION "sde".next_row_id('editor1',7);
    
    ret_code 0
    err_msg
    rowid 18
    
    1 row(s) retrieved.

  5. Revenez à l'éditeur SQL et insérez un enregistrement dans la table.
    INSERT INTO factories
    VALUES (
    18,
    'makem'
    ST_PolyFromText('POLYGON((52 18,66 23,73 9,48 6,52 18),(59 18,67 18,67 13,59 13,59 18))',101)
    );

Rubriques associées


3/6/2012