4

私の会社でまったく同じテーブルを結合するために同じクエリを作成するのに何時間かかったかについても考えたくありません。

私が最初に仕事を始めたとき、これは非効率であると認識し、開発者の便宜のためだけに別のスキーマでビューを書き始めました。
上司はこれをあまり気に入らなかったので、本番SQLとは別のフォルダーにあるソース管理に一般的なクエリをコミットし始めることをお勧めしました。一部のスクリプトにはパラメーターが必要であり、すべてが読み取り専用であるとは限らないため、これは理にかなっています。

一般的なクエリとは何ですか?

  • 特定の問題を診断するために使用されるスクリプト
  • 複数のテーブル間の関係を表示するスクリプト(複数の結合を実行)
  • その日の問題を診断するために調整されることが多いため、ストアドプロシージャに不要なスクリプト

対処したい問題

  • 発見可能性、誰も見つけられない場合、クエリは書き直されます
  • IDE統合、IDEでクエリを簡単に表示できるようにする必要があります。私はSQLServerソリューションを試しましたが、そのファイルのセットでのみ作業するようにロックされているため、本当にひどいです。

そこにいるすべてのプロが共通のSQLクエリをどのように共有しているのか疑問に思いました。

ありがとう

4

5 に答える 5

4

運用担当者は、他のユーザーが再作成しないように使用できる/使用すべき有用な SQL についてチームに知らせる方法を知りたがっているようです。

私が過去にこれを行った方法は、次の 2 つの方法です。

  1. SQL の詳細とその使用方法の例を示すチーム Web Wiki ページを作成します。
  2. 共有する必要がある新しい SQL が作成されたら、チームに電子メールを送信します。

もちろん、私たちは常に SQL コードをバージョン管理に含めています。wiki と電子メールだけが「情報を広める」部分で使用されています。

于 2009-07-22T19:42:11.990 に答える
2

私が「共通」と呼ぶものであれば、必要な権限を持つ人々が実行できる ストアドプロシージャを作成するでしょう。

ストアドプロシージャルートがチームでうまく機能しない場合、他のオプションはビューを作成することです。 ビューの作成には、ビューを実行しているすべてのユーザーがビュー内のすべてのテーブルに対しても選択したアクセス許可を持っていることを確認するなど、固有の課題が伴います。

ある種のソース管理にスクリプトを保存する以外に、SharePointサイトまたはネットワークファイル共有にスクリプトを保存することでチームは問題なく機能する可能性があります。スクリプトを共有する際の本当の課題は、人々が探しているものを識別するためのさまざまな方法を持っていることです。クエリが行うさまざまなタイプのタグ付けを可能にするwikiタイプのサイトが役立ちます。

于 2009-07-22T19:24:27.020 に答える
1

ビューを作成します。

于 2009-07-22T19:25:06.283 に答える
0

これを行うための多くの方法(あなたがすでに言及したものを含む):

  • テーブル値のユーザー定義関数
  • ストアドプロシージャ
  • ビュー
  • ソース管理
  • クライアントコード用の正式な共有データアクセス層
于 2009-07-22T19:25:52.103 に答える
0

ビューは、この種のことを処理する正しい方法です。または、場合によっては、ストアドプロシージャ。

ただし、ビューまたはストアドプロシージャのDDLをソース管理に保存することできないという規則はありません。

于 2009-07-22T19:28:16.137 に答える