Pré. | Proc. |
Créer des définitions de recherche
Si vous souhaitez définir vos propres recherches, vous pouvez le faire à l'aide de l'éditeur SQL, du générateur de Query ou d'un Add-In , via la boîte de dialogue « Nouvelle recherche ». Les recherches définies par l'utilisateur sont stockées dans les données de l'application utilisateur pour la machine utilisée, et non dans le référentiel du projet.
Accéder
Ruban |
Explorer > Rechercher > Modèle : ou Design > Element > Manage > Search Modèle : |
Raccourcis Clavier |
Crtl+F : ou Ctrl+Alt+A : |
Créer une nouvelle définition de recherche
Champ/Bouton |
Action |
Voir également |
---|---|---|
Nom |
Type un nom pour la recherche. |
|
Générateur Query |
Cliquez sur ce bouton radio pour créer votre recherche via l'éditeur de recherche interne. |
|
Éditeur SQL |
Cliquez sur ce bouton radio pour créer votre recherche en écrivant directement des instructions SQL. (Pour les utilisateurs avancés.) |
|
Recherche Add-In |
Cliquez sur ce bouton radio pour définir la recherche en fonction d'un Add-In . |
|
Nom et méthode Add-In |
(Disponible si vous avez sélectionné le bouton radio « Recherche de Add-In ») Type :
|
Recherche Add-In |
OK |
Cliquez sur ce bouton pour créer la nouvelle recherche et fermer le dialogue . Le panneau du générateur de recherche s'ouvre sous la barre d'outils. Pour:
Les instructions SQL du 'SQL Scratch Pad' ne sont rattachées à aucune recherche et ne font l'objet d'aucune opération initiée depuis la barre d'outils ' Rechercher dans Projet '. |
Définir et modifier les recherches |
Annuler |
Cliquez sur ce bouton pour abandonner la création de la recherche et fermer le dialogue . |
Créer une recherche SQL
Vous pouvez créer des instructions SQL à l'aide de l'éditeur SQL via l'onglet " Générateur de Query ". L'éditeur SQL est basé sur l'éditeur Éditeur de Code commun et fournit une liste d'auto-complétion Intelli-sense remplie à partir de la structure du référentiel Enterprise Architect .
Pour afficher la liste d'auto-complétion, placez le curseur après une commande et appuyez sur Ctrl+Espace.
Une recherche simple peut consister à localiser un object à partir d'un tableau , étant donné un terme de recherche que l'utilisateur entre dans le champ 'Terme de recherche' ; par exemple:
SELECT * FROM t_object WHERE Name='<Terme de recherche>' (voir aussi la ligne <Terme de recherche> dans le tableau ))
Dans les instructions WHERE, vous pouvez utiliser des macros #xxx# comme substituts de string , afin que la même recherche puisse être utilisée par différentes personnes dans différents environnements. Ces macros sont toutes sensibles à la casse. Ils comprennent:
Macro |
Description |
Voir également |
---|---|---|
#Author# |
Prend le nom d'utilisateur du champ 'Auteur' dans la page 'Général' de la boîte de dialogue 'Préférences', de sorte que la recherche définie peut être effectuée sur des objets créés par cet utilisateur (cette valeur peut être réinitialisée manuellement dans la boîte de dialogue 'Préférences') . Ceci doit être utilisé dans une string . |
|
#Bifurquer# |
Obtient l' ID de chaque Paquetage enfant sous un ou plusieurs Paquetages parents, en travaillant de manière récursive jusqu'au niveau le plus bas du sous-Package. Par exemple: t_object.Package_ID dans (#Branch#) Il existe trois permutations de cette macro :
|
|
#Concat <valeur1>, <valeur2>, ...# |
Fournit une méthode de concaténation de deux ou plusieurs termes SQL en une seule string , indépendamment du type de base de données. |
|
#Datepart <champ>, <colonne># |
Fournit une méthode d'interrogation d'une partie de la Date, indépendamment du type de base de données. La valeur de <champ> peut être l'une des suivantes :
|
|
#GUIDélémentactuel# |
Obtient le ea_guid pour l'élément actuellement sélectionné. Par exemple: t_object.ea_guid=#CurrentElementGUID# |
|
#CurrentElementID# |
Obtient l'Object_ID pour l'élément actuellement sélectionné. Par exemple: t_object.Object_ID=#CurrentElementID# |
|
#DB=<NOMDB># |
DBNAME peut être l'un des suivants :
sélectionner * de t_object où #DB=Other#t_object.modifieddate >= maintenant () - 'Search Term'#DB=Other# #DB=SQLSVR#t_object.modifieddate >= getdate() - 'Terme de recherche'#DB=SQLSVR# #DB=ORACLE#t_object. ModifiedDate >= (SYSDATE - INTERVAL 'Search Term' DAY) #DB=ORACLE# #DB=POSTGRES#t_object.modifieddate >= CURRENT_DATE - 'Terme de recherche'#DB=POSTGRES# |
|
#Left <champ>, <compte># |
Renvoie le nombre 'count' de caractères du champ, en commençant au début de la string . |
|
#Now# |
Insère la date actuelle plus ou moins un nombre spécifié d'heures ou de jours ; la valeur par défaut est jours (le format de date est ajusté pour s'adapter à la base de données utilisée) comme dans :
|
|
#Package# |
Obtient le Paquetage pour le Paquetage actuellement sélectionné. Par exemple: t_object.Package_ID=#Package# |
|
#Right <field>, <count># |
Renvoie le dernier nombre 'count' de caractères du champ. |
|
<Terme de recherche> |
Obtient la valeur sur laquelle rechercher, à partir du texte saisi dans le champ 'Terme de recherche' de la vue Rechercher dans Projet (le troisième champ à partir de la gauche). Il fonctionne donc lorsqu'une recherche active est en exécuter et que des valeurs sont placées dans ce champ. Il doit apparaître à l'intérieur d'une string et doit être entre guillemets si le tableau .Field auquel il est comparé est de type string . |
|
#Sous-chaîne <champ>, <début># |
Renvoie le reste du champ en commençant par le caractère 'start' (base 1) |
|
#Sous-chaîne <champ>, <début>, <compte># |
Renvoie le 'count' nombre de caractères du champ commençant au caractère 'start' (base 1). |
|
#UserName# |
Obtient le nom de la personne connectée à Contrôle de Version .; il doit être utilisé à l'intérieur d'une string . Cet exemple provient de la recherche intégrée "Mes Paquetages ". t_package.PackageFlags COMME '#WC#VCCFG=#WC#CheckedOutTo=#UserName##WC#' |
|
#WC# |
Obtient le caractère générique approprié pour la base de données actuelle, afin que la recherche puisse être effectuée sur des modèles de différentes bases de données. Il doit être utilisé à l'intérieur d'une string . Par exemple: t_object.Name LIKE '#WC#Test#WC#' |
Le GUID et le Type
Pour toutes les fonctions dans lesquelles vous utilisez une instruction SQL personnalisée (y compris Document Rapportage et Modèle Vues ), l'instruction doit renvoyer le GUID et le type de l' object trouvé afin que le système puisse rechercher l'élément sélectionné dans la fenêtre Navigateur . L'instruction SELECT est sensible à la casse et doit être saisie comme indiqué :
- SELECT ea_guid AS CLASSGUID, Object_Type AS CLASSTYPE, Nom FROM t_object
- SELECT ea_guid AS CLASSGUID, Object_Type AS CLASSTYPE, Nom FROM t_object
- SELECT ea_guid AS CLASSGUID, 'Opération' AS CLASSTYPE, Nom FROM t_operation
- SELECT ea_guid AS CLASSGUID, 'Attribut' AS CLASSTYPE, Nom FROM t_attribute
- SELECT ea_guid AS CLASSGUID, Connector_Type AS CLASSTYPE, 't_connector' as CLASSTABLE, Name FROM t_connector
- SELECT ea_guid AS CLASSGUID, Diagram_Type AS CLASSTYPE, 't_diagram' as CLASSTABLE, Name FROM t_diagram
- (t_object.Object_ID et t_object.Object_Type) ou
- t_objet. ea_guid AS CLASSGUID
Boutons de la barre d'outils SQL Scratch Pad
L'onglet 'SQL Scratch Pad' offre un petit nombre de facilités via sa barre d'outils.
Icône |
Description |
---|---|
Cliquez sur cette icône pour tester la recherche que vous avez définie. Les résultats s'affichent dans le panneau principal de la vue ' Rechercher dans Projet '. |
|
Cliquez sur cette icône pour enregistrer la recherche SQL en cours en tant que nouvelle recherche. Une prompt s'affiche pour le nouveau nom de recherche. Lorsque vous cliquez sur le bouton OK , le système passe à l'onglet « Query Builder », copie l'instruction SQL dans l'onglet et place le nom de la recherche dans le champ « Search ». |
|
Cliquez sur cette icône pour effacer le 'SQL Scratch Pad' de la définition de recherche actuelle. |
Notes
- Lorsque vous créez une recherche SQL personnalisée dans l'onglet ' Query Builder', les deux seules icônes disponibles dans la barre d'outils sont l'icône Enregistrer et l'icône Supprimer le filtre ; l'icône Supprimer le filtre est en fait une icône Supprimer qui supprime le contenu de la recherche (l'instruction SQL)