Cycle de progression Faire (quelque chose qui marche) -> comprendre ce que l’on fait/comment cela marche -> pousser plus loin les notions
| /* récupérer toutes les bases de données*/ select * from sys.databases |
| /* récupérer toutes les tables de la base de données*/ select name,object_id from sys.tables |
| /* récupèrer les colonnes de la table Contact */ select * from sys.tables t,sys.columns c where t.object_id=c.object_id and t.name='Contact' |
| /* récupérer les clés primaires de la table Contact*/ select * from sys.tables t,sys.indexes p where t.object_id=p.object_id and t.name='Contact' |
| /* récupèrer les clés étrangères */ select * from sys.foreign_keys select * from sys.foreign_key_columns /* select * from sys.foreign_key_columns -donne la table clé primaire avec referenced_object_id -donne la table clé etrangère avec parent_object_id */ select distinct pt.name as PK_TABLE_NAME, ft.name as FK_TABLE_NAME, pc.name as PK_COLUMN_NAME, fc.name as FK_COLUMN_NAME, f.name as RELATION_NAME from sys.tables pt, sys.tables ft, sys.columns pc, sys.columns fc, sys.foreign_keys f, sys.foreign_key_columns k, sys.indexes i where pt.object_id = f.referenced_object_id and ft.object_id = f.parent_object_id and pc.object_id = f.referenced_object_id and fc.object_id = f.parent_object_id and pc.column_id = k.referenced_column_id and fc.column_id = k.parent_column_id |
| /* récupération des procédures stockées */ select * from sys.procedures /* récupération des paramètres de procédure UpdateContact*/ select * from sys.procedures pr,sys.parameters pa where pr.object_id=pa.object_id and pr.name='UpdateContact' |
| DataTable dataTable = connection.GetSchema("tables") DataTable dataTable = connection.GetSchema("tables", new string[] { null, null, "Contact", }); DataTable dataTable = connection.GetSchema("Procedures") DataTable dataTable = connection.GetSchema("ProcedureParameters", new string[] { null, null, "UpdateContact", }); |
| DataTable dt = Connection.GetSchema(); foreach (DataRow row in dt.Rows) { //row["CollectionName"] } |