У меня есть хранимая процедура, написанная на c #:
SqlConnection scn = new SqlConnection("context connection=true;");
SqlCommand scm = new SqlCommand("Select * from EPMS_Filters",scn);
SqlDataAdapter sda = new SqlDataAdapter(scm);
DataSet ds = new DataSet();
//template for select Query.
String SelectQry = "select convert(varchar,TimeStamp,101) as TimeStamp, avg({0} from EPMSDataTable where timestamp between '{1}' and '{2}' group by convert(varchar,timestamp,101)";
String filters = "";
//select clause part which contains simple columns select col1, col2...
sda.SelectCommand.CommandText = "Select column_name from information_schema.columns where table_name = 'EPMSDataTable' and column_name <> 'timestamp'";
sda.Fill(ds, "SimpleFilters");
foreach (DataRow dr in ds.Tables["SimpleFilters"].Rows)
{
String fName = dr[0].ToString();
filters += dr[0] + ")as " + dr[0] + ", avg(";
}
filters = filters.TrimEnd(", avg(".ToCharArray()); //remove last ','
scm.CommandText = String.Format(SelectQry,filters,start.ToString(),end.ToString());
scn.Open();
SqlContext.Pipe.Send(scm.ExecuteReader());
scn.Close();
Есть ли какой-либо инструмент или инструмент, который может преобразовать этот код в код хранимой процедуры SQL?Или я должен переписать это вручную?Причина, по которой я спрашиваю, состоит в том, что, например, я не уверен, как обработать переменную поворота набора данных в тип sql.
Спасибо!
Грег