Добавьте файлы проекта.
This commit is contained in:
28
SQLLinter/Infrastructure/Rules/UpdateWhereRule.cs
Normal file
28
SQLLinter/Infrastructure/Rules/UpdateWhereRule.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using Microsoft.SqlServer.TransactSql.ScriptDom;
|
||||
using SQLLinter.Common;
|
||||
|
||||
namespace SQLLinter.Infrastructure.Rules;
|
||||
|
||||
public class UpdateWhereRule : BaseRuleVisitor, IRule
|
||||
{
|
||||
|
||||
public override string Text => "Ожидается выражение WHERE для оператора UPDATE: {0}";
|
||||
|
||||
|
||||
public override void Visit(UpdateSpecification node)
|
||||
{
|
||||
if (node.WhereClause != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
string name = string.Join("", node.Target.ScriptTokenStream
|
||||
.Skip(node.Target.FirstTokenIndex)
|
||||
.Take(node.Target.LastTokenIndex - node.Target.FirstTokenIndex + 1)
|
||||
.Select(t => t.Text)
|
||||
);
|
||||
|
||||
AddViolation(node, name);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user