我有大量的StoredProcedures,它们必须从不同的表中读取和写入,具体取决于它们被调用的参数。
所以基本上就像是:
CREATE myStoredProc @Scheme char(10) = ''
AS
BEGIN
IF @Scheme = 'Scheme1'
BEGIN
UPDATE Scheme1.TableA
-- and much more logic --
END
IF @Scheme = 'Scheme2'
BEGIN
UPDATE Scheme2.TableA
-- and much more logic --
END
END
两个IF中的逻辑是相同的,除了表的方案,它们正在使用(以及WHERE子句中的一些其他参数,这根本不是问题)。
这段代码怎么能变得更紧凑?
因为逻辑中的每个变化都必须进行两次,并且由于存在错误的风险。如果将来会有另一个方案,代码将再次扩展。此外,它更难以阅读,..
提前感谢任何想法&最佳实践!