Bonjour à tous,

Je suis à la recherche de conseils, d'astuces, afin de générer une documentation des vues SQL.
Ce n'est pas forcément compliqué, mais, mon problème arrive dès que je souhaite récupérer les règles de gestion des champs, des jointures et de la clause where.

Voici un exemple allégé d'une vue :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
CREATE VIEW [dbo].[vw_ACTEUR]
AS
 
SELECT	ACT_ID, 
		CASE 
			WHEN ID_TYPE = 0 THEN 'M'
			WHEN ID_TYPE = 1 THEN 'MME'
			WHEN ID_TYPE = 2 THEN 'MLLE'
			WHEN ID_TYPE = 3 THEN 'TROLL'
		END as ACT_TYP
		ACT_NOM, 
		ACT_PRENOM, 
		ACT_EMAIL, 
		convert(VARCHAR(255), NULL ) as ACT_LOGIN , 
		ACT_CONNECT
FROM ACTEUR A
INNER JOIN ACT_SITE AS ON AS.ACT_ID = A.ACT_ID
WHERE AS.SIT_ID > 0
Et j'aimerai récupérer ce genre d'informations :

  • ACT_LOGIN : convert(VARCHAR(255), NULL )
  • INNER JOIN : ACTEUR A INNER JOIN ACT_SITE AS ON AS.ACT_ID = A.ACT_ID
  • WHERE : AS.SIT_ID > 0


En soit, j'ai le script de la vue que l'on récupère dans la vue système "sys.sql_modules" avec le champ "definition".
Mais je ne sais pas comment exploiter ce champ. Car, dans mon exemple, un champ peut être sur plusieurs lignes, sans alias, et avec des fonctions utilisant des virgules "left('MA_CHAINE',5)".

Le dieu du SQL, @SQLpro parle dans un ancien sujet (generateur-documentation-base-donnees/) d'utiliser powerAMC (que j'ai sous les mains), mais je n'ai pas trouvé la case à cocher qui allait "changer ma vie".

Si vous avez des idées sur powerAMC, en SQL, ou d'autres outils, je suis preneur !

Merci d'avance pour votre aide,
Elros