Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak uzyskać schemat bazy danych procedury składowanej?

Nie znam Biblioteki Enterprise, ale ze zwykłym ADO.NET kod byłby podobny do następującego

//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();
     }
}

Następnie możesz przeanalizować DataTable, aby uzyskać szczegółowe informacje o zestawie wyników.

Możesz oczywiście użyć typów ogólnych w powyższym kodzie - DbCommand, DbParameter itp. Przypuszczam, że w przypadku Biblioteki Enterprise musiałbyś zrobić to samo - wykonać procedurę składowaną tak jak zwykle, z wyjątkiem ustawienia 'SchemaOnly'.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać następny dostępny numer z programu SQL Server? (nie jest to kolumna tożsamości)

  2. SQL Server:wycofanie bez ROZPOCZĘCIA TRANSAKCJI

  3. Jednowierszowa instrukcja GO(Batch) dająca błąd w programie SQL Server?

  4. SQL Połącz dane z dwóch różnych zakresów dat w jeden zestaw wyników

  5. Kodowanie cyrylicy w C#