在团队中共享公共SQL查询

时间:2009-07-22 19:23:16

标签: sql sql-server-2005 organization

我甚至不想考虑在我公司完全相同的表格上花费多少工时来编写相同的查询。

当我第一次开始工作时,我认为这是一种低效率,并开始在单独的模式中编写视图,仅用于方便开发人员。
我的老板不太喜欢这个,并建议我开始将我的常见查询提交到生产SQL的单独文件夹中的源代码控制。这是有道理的,因为有些脚本需要参数而不是所有脚本都是只读的。

什么是常见查询?

  • 用于诊断某些问题的脚本
  • 用于查看多个表之间关系的脚本(执行多个连接)
  • 我们在存储过程中不需要的脚本,因为它经常被调整以诊断当天的问题

我要解决的问题

  • 可发现性,如果没人能找到,查询将被重写
  • IDE集成,希望能够在IDE中轻松查看查询。我已经尝试过SQL Server解决方案,但他们真的很糟糕,因为他们会锁定你只处理那组文件。

我想知道所有专业人员如何分享他们常见的SQL查询。

由于

5 个答案:

答案 0 :(得分:4)

似乎操作系统想知道如何向团队宣传其他人可以/应该使用的有用SQL,以免重新创建。

我过去如何做到这一点有两个方面:

  1. 创建一个团队网络维基页面 详细介绍了SQL的示例 它被使用了。
  2. 在新SQL发布时向团队发送电子邮件 创建应该共享。
  3. 当然,我们总是在版本控制中包含SQL代码,只是维基和电子邮件用于“在那里得到消息”部分。

答案 1 :(得分:2)

如果我称之为“常见”,我可能 创建存储过程 ,可以运行具有必要权限的人员。

如果存储过程路由不适合您的团队,则另一个选项是 创建视图。 创建视图时遇到了独特的挑战确保运行视图的每个人都对视图中的所有表都有选择权限。

除了将脚本存储在某种源代码控制中之外,将它们存储在Share Point站点或网络文件共享上对您的团队来说也可以正常工作。您在共享脚本时面临的真正挑战是人们有不同的方法来识别他们正在寻找的东西。一个wiki类型的站点,允许标记查询所做的不同类型的事情将是有用的。

答案 2 :(得分:1)

您可以创建视图。

答案 3 :(得分:0)

有很多方法可以做到这一点(包括你已经提到过的一些方法):

  • 表值用户定义函数
  • 存储过程
  • 浏览
  • 源代码管理
  • 客户端代码的正式共享数据访问层

答案 4 :(得分:0)

视图是处理此类事情的正确方法。或者,在某些情况下,存储过程。

但是没有规则说你不能在源代码管理中存储视图或存储过程的DDL。