sql >> Database >  >> RDS >> Sqlserver

Het databaseschema van een opgeslagen procedure verkrijgen

Ik ben niet op de hoogte van Enterprise Library, maar met gewoon ADO.NET zou de code vergelijkbaar zijn met het volgende

//assume an open connection
using(connection)
{
    using (DbCommand command = connection.CreateCommand())
    {
        command.CommantText = "procedure name";
        //setup and add parameters.
        SqlParameter parameter = command.CreateParameter();
        parameter.Name = "param name";
        //set the mode - out/inputOutput etc
        //set the size
        //set value to DBNull.Value

        //execute the stored procedure with SchemaOnly parameter
        var reader = command.ExecuteReader(CommandBehavior.SchemaOnly);
        var table = reader.GetSchemaTable();
     }
}

U kunt vervolgens de DataTable analyseren voor gedetailleerde informatie over de resultatenset.

Je kunt natuurlijk generieke typen gebruiken in de bovenstaande code - DbCommand, DbParameter enz. Ik denk dat je met Enterprise Library in principe hetzelfde zou moeten doen - voer de Opgeslagen Procedure uit zoals je normaal zou doen, behalve met de instelling 'SchemaOnly'.



  1. Replicatiefailover voor MySQL en MariaDB beheren met pre- of post-failoverscripts

  2. Ontvang de eerste dag van de maand in PostgreSQL

  3. Tabelruimten in Oracle

  4. bereken een gemiddelde zonder decimalen