diff --git a/source/Diol/src/Diol.Share/Services/SqlQueryService.cs b/source/Diol/src/Diol.Share/Services/SqlQueryService.cs
index c6e5aac..9aceaaf 100644
--- a/source/Diol/src/Diol.Share/Services/SqlQueryService.cs
+++ b/source/Diol/src/Diol.Share/Services/SqlQueryService.cs
@@ -21,72 +21,32 @@ public class SqlQueryService
///
/// The SELECT query.
/// The table name.
- public static string ExtractTableNameFromSelectQuery(string sqlQuery)
- {
- string pattern = @"FROM\s+\[?(\w+)\]?";
- Match match = Regex.Match(sqlQuery, pattern, RegexOptions.IgnoreCase);
-
- if (match.Success)
- {
- return match.Groups[1].Value;
- }
-
- return string.Empty;
- }
+ public static string ExtractTableNameFromSelectQuery(string sqlQuery) =>
+ ExtractFromQuery(sqlQuery, @"FROM\s+\[?(\w+)\]?");
///
/// Extracts the table name from an INSERT query.
///
/// The INSERT query.
/// The table name.
- public static string ExtractTableNameFromInsertQuery(string sqlQuery)
- {
- string pattern = @"INTO\s+\[?(\w+)\]?";
- Match match = Regex.Match(sqlQuery, pattern, RegexOptions.IgnoreCase);
-
- if (match.Success)
- {
- return match.Groups[1].Value;
- }
-
- return string.Empty;
- }
+ public static string ExtractTableNameFromInsertQuery(string sqlQuery) =>
+ ExtractFromQuery(sqlQuery, @"INTO\s+\[?(\w+)\]?");
///
/// Extracts the table name from an UPDATE query.
///
/// The UPDATE query.
/// The table name.
- public static string ExtractTableNameFromUpdateQuery(string sqlQuery)
- {
- string pattern = @"UPDATE\s+\[?(\w+)\]?";
- Match match = Regex.Match(sqlQuery, pattern, RegexOptions.IgnoreCase);
-
- if (match.Success)
- {
- return match.Groups[1].Value;
- }
-
- return string.Empty;
- }
+ public static string ExtractTableNameFromUpdateQuery(string sqlQuery) =>
+ ExtractFromQuery(sqlQuery, @"UPDATE\s+\[?(\w+)\]?");
///
/// Extracts the table name from a DELETE query.
///
/// The DELETE query.
/// The table name.
- public static string ExtractTableNameFromDeleteQuery(string sqlQuery)
- {
- string pattern = @"FROM\s+\[?(\w+)\]?";
- Match match = Regex.Match(sqlQuery, pattern, RegexOptions.IgnoreCase);
-
- if (match.Success)
- {
- return match.Groups[1].Value;
- }
-
- return string.Empty;
- }
+ public static string ExtractTableNameFromDeleteQuery(string sqlQuery) =>
+ ExtractFromQuery(sqlQuery, @"FROM\s+\[?(\w+)\]?");
///
/// Extracts the operation name from a SQL query.
@@ -117,5 +77,23 @@ public static bool IsTransaction(string sqlQuery)
{
return sqlQuery.Contains("IMPLICIT_TRANSACTIONS");
}
+
+ ///
+ /// Extracts a value from a SQL query base on pattern.
+ ///
+ /// The query.
+ /// Regex pattern.
+ ///
+ private static string ExtractFromQuery(string sqlQuery, string pattern)
+ {
+ Match match = Regex.Match(sqlQuery, pattern, RegexOptions.IgnoreCase);
+
+ if (match.Success)
+ {
+ return match.Groups[1].Value;
+ }
+
+ return string.Empty;
+ }
}
}