我在一个维护(大型)遗留 C# 应用程序的开发团队中工作。在过去的几个月中,我们遇到了几个实例,其中数据库中的列在从该表中选择/更新/插入/删除的 CRUD 存储过程中没有任何引用,因此它们实际上是“孤立”列和它们的值始终为 NULL(显然它们不是业务关键,或者现在有人会抱怨,但我们想知道这些孤立列在哪里,因为我们正在进行全面的平台迁移)。
例如,表“产品”具有以下列:
ProductID
ProductName
ProductDesc
EffectiveDate
EndDate
IsEnabled
Product_INSERT 存储过程为以下列插入数据:
ProductID
ProductName
ProductDesc
EffectiveDate
EndDate
如您所见, IsEnabled 不包含在存储过程中,因此它将作为 NULL 插入(假设该列可以为空,否则我们会在插入时遇到错误并意识到差异)。
有没有办法运行 SQL 查询来识别这些?我们有许多具有大量底层 CRUD sproc 的屏幕。