Disponible avec une licence Standard ou Advanced.
Vous pouvez exécuter des instructions SELECT SQL sur des vues versionnées pour accéder aux données versionnées.
Lire depuis la version Default
Deux options se présentent à vous lorsque vous exécutez des instructions SQL sur la version Default : vous pouvez lire le dernier état ou lire depuis un état de version que vous spécifiez.
Lire le dernier état de la version Default
Les vues versionnées accèdent automatiquement à l'état actuel de la version Default. Si vous exécutez des instructions SELECT sur une vue versionnée, elles accèdent à l'état actuel de la version Default au moment de l'exécution de l'instruction. Si d'autres utilisateurs intègrent des modifications dans la version Default (modifiant ainsi l'état auquel fait référence la version Default), vos requêtes suivantes verront le dernier état et leurs modifications.
Lire un état de version spécifique
Si vous souhaitez interroger un état spécifique de la version Default et que vous ne voulez pas que l'état change pendant les requêtes, exécutez la procédure stockée setcurrentversion. Cette procédure valide le nom de version fourni et définit l'état de la base de données correspondant en interne. Si vous exécutez setcurrentversion pour la version Default, les requêtes que vous exécutez sur la version Default pointeront toujours sur l'état auquel la version Default faisait référence lorsque vous avez exécuté la procédure stockée setcurrentversion.
Exécutez setcurrentversion à partir d'un client SQL. La syntaxe est la suivante :
CALL sde.setcurrentversion('<version_name>',?,?)
Vous pouvez réexécuter cette procédure stockée pour revenir à l'état actuel de la table versionnée, si nécessaire.
- Assurez-vous il y a une vue versionnée pour la table ou classe d'entités versionnée à laquelle vous souhaitez accéder.
À partir d'ArcGIS 10.1, les vues versionnées sont créées lorsque vous versionnez des données. Si la version de vos données est antérieure à 10.1, vous pouvez créer une vue versionnée en cliquant avec le bouton droit sur le jeu de données, en pointant sur Gérer, puis en cliquant sur Activer l'accès à SQL.
- Ouvrez un client SQL et appelez la procédure stockée setcurrentversion pour définir la version Default.
CALL sde.setcurrentversion('DEFAULT',?,?)
Les points d'interrogation indiquent message code output et message output. Message code output et message output sont les codes et les messages SQL retournés après l'exécution de la procédure. Vous transmettez des points d'interrogation et le code et le message vous sont retournés.
- Exécutez une instruction SELECT sur la vue versionnée pour lire les données versionnées de la géodatabase.
Dans l'exemple suivant, la vue versionnée est sightings_ev :
SELECT ID, SPECIES, REPORTER FROM SIGHTINGS_EV WHERE REPORTER = 'chuck'
Lire une version autre que Default
Vous pouvez exécuter la procédure stockée setcurrentversion pour interroger une version autre que Default. Cette procédure valide le nom de version que vous spécifiez et définit l'état de version correspondant en interne. Les requêtes exécutées sur la version pointeront toujours sur l'état auquel la version faisait référence lorsque vous avez exécuté la procédure stockée setcurrentversion.
Le cas échéant, cette procédure peut être rappelée pour modifier d'autres versions. Elle peut être appelée chaque fois que l'espace de travail est actualisé pour renvoyer l'état courant de la table versionnée à l'application d'appel.
Les étapes suivantes indiquent comment exécuter setcurrentversion pour interroger une version spécifique autre que Default :
- Assurez-vous il y a une vue versionnée pour la table ou classe d'entités versionnée à laquelle vous souhaitez accéder.
À partir d'ArcGIS 10.1, les vues versionnées sont créées lorsque vous versionnez des données. Si la version de vos données est antérieure à 10.1, vous pouvez créer une vue versionnée en cliquant avec le bouton droit sur le jeu de données, en pointant sur Gérer, puis en cliquant sur Activer l'accès à SQL.
- Ouvrez un client SQL et appelez la procédure stockée setcurrentversion pour définir la version que vous souhaitez interroger.
Dans l'exemple suivant, field_inspections est défini comme la version à interroger :
CALL sde.setcurrentversion('FIELD_INSPECTIONS',?,?)
Les points d'interrogation indiquent message code output et message output. Message code output et message output sont les codes et les messages SQL retournés après l'exécution de la procédure. Vous transmettez des points d'interrogation et le code et le message vous sont retournés.
- Exécutez une instruction SELECT sur la vue versionnée pour lire les données versionnées de la géodatabase.
Dans l'exemple suivant, la vue versionnée est code_ev :
SELECT owner, site_address, region FROM code_ev WHERE region = 'b'
Si vous devez revenir à une requête sur l'état actuel de la version Default, exécutez la procédure set_default.
CALL sde.set_default;