StoredProc:表取决于参数

时间:2017-09-06 11:32:19

标签: sql sql-server

我有大量的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子句中的一些其他参数,这根本不是问题)。

这段代码怎么能变得更紧凑?
因为逻辑中的每个变化都必须进行两次,并且由于存在错误的风险。如果将来会有另一个方案,代码将再次扩展。此外,它更难以阅读,..

提前感谢任何想法&最佳实践!

0 个答案:

没有答案