我的应用程序需要在SQL Server数据库中维护存储过程。当应用程序运行时,如果它不存在,它将创建sproc,并且如果有更新的版本,它需要升级(删除并重新创建)。
因此,我需要一些方法来存储针对该存储过程的数字。
显然,我可以在用procedurename, version
创建的表格中存储一行,如果没有更好的方法,那就是我要做的。
但是,我想知道SQL Server是否有适当的机制来存储这样的元数据。我可以设置自定义对象属性吗?
答案 0 :(得分:4)
使用扩展属性。
这是一篇关于如何更新它们的博客文章:
http://www.apexsql.com/help/apexsqldoc/html/Step-by-Step_Guide/Extended_Properties/Managing_Extended_Properties.htm
答案 1 :(得分:0)
SQL Server没有内置的方法来执行您想要的操作。它们提供了可用于构建此类解决方案的任意数量的工具,功能和特性,但您必须自己构建它。
答案 2 :(得分:0)
虽然可以使用扩展属性来满足您的要求,但我建议您使用自己推荐的方法在表中存储procedure_name
和version
。经验表明,从长远来看,你不应该依赖于未来版本中可能/将来/应该/可能会破坏的东西。从长远来看,拥有自己的基础架构比依赖某些可能与不同RDBMS不兼容的功能更好。也许你有一天需要将你的应用程序转移到另一个RDBMS,如果你现在想的话,成本要低得多。