У меня есть блок кода, который выполняется неоднократно, но изменяется только имя таблицы.
SQLData stagingData = runtime.SQLExecuteQuery(integrationDatabase, "SELECT COUNT (*) AS ROW_COUNT FROM *<DATABASE NAME>*");
foreach(SQLDataRow stagingDataRow in stagingData)
{
stageCount = runtime.SQLDataRowGetInteger(stagingDataRow, "ROW_COUNT");
}
if(stageCount !=0)
{
writeStaging = runtime.SQLExecuteStoredProcedure(integrationDatabase, "*<STORED PROCEDURE NAME>*", 0);
SQLData transformedData = runtime.SQLExecuteQuery(integrationDatabase,
"SELECT COUNT (*) AS ERROR_COUNT FROM *<TABLE NAME>* WHERE " +
"[Entity] LIKE '_ERROR_%' OR [Name] LIKKE '_ERROR_'%");
foreach (SQLDataRow transDataRow in transformedData)
{
errorCount = runtime.SQLDataRowGetInteger(transDataRow, "ERROR_COUNT");
}
if (errorCount == 0)
{
writeTransformed = runtime.SQLExecuteStoredProcedure(integrationDatabase, "*<STORED PROCEDURE NAME>*", 0);
}
else
{
return false;
}
}
Это кодовый блок, который выполняется повторно. Курсив - это единственное, что меняется.
Мы хотели бы уменьшить количество строк для этой части, но мы просто не смогли найти хорошую структуру для этого.
Мы надеемся услышать ваши предложения.
P.S. Мы выполняем это внутри класса.
Спасибо.