• ベストアンサー

クエリの保存場所

新しいクエリを挿入して クエリを保存したときは データベースの ・テーブル ・ビュー ・シノニム ・プログラミング ・セキュリティ のどこに保存されるのでしょうか? SQL Server Management Studio ExpressのProjectsに「.sql」で保存されるようですが データベースから開くことはできないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • norayuni
  • ベストアンサー率79% (27/34)
回答No.2

状況確認です。 1)SQL Server Management Studioで「新しいクエリ」をクリックして開いた「クエリエディター」にクエリを入力する。 2)クエリを名前をつけて保存する。 この状況では、オブジェクトエクスプローラから見ることはできません。オブジェクトエクスプローラーに表示されるのは、基本的にSQL Serverの支配下にあるものです。 先ほど保存したSQLはSQL Serverに保存したのではなく普通にテキストファイルを拡張子sqlで保存しただけのものです。ですので、保存したSQLは動かしたり削除ができます。 と言う状況で、何をしたいのでしょうか? ・別の日に、SQL Server Management Studioを立ち上げて、保存しておいたクエリをクエリエディターに表示させたい? →[ファイル]→[開く]→[ファイル]でSQLを選択。 何をやりたいからSQLを選択したいのかを記載していただけると、より具体的な回答を他の方もしやすいかと思います。

qwfgjo
質問者

お礼

[ファイル]→[開く]→[ファイル] これでできるのですね! これがわかれば十分です! ありがとうございます。

その他の回答 (1)

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

>SQL Server Management Studio ExpressのProjectsに「.sql」で保存されるようですがデータベースから開くことはできないのでしょうか? できません。 データベースに保存できるのは、ある意味きまったオブジェクトとして構造化されたもののみで、クエリを一時的に保存するエリアはないのです(データベース内には保存されません)。 だから、「クエリ」は単にWindowsのファイルとして保存できるのみです(SQL Serverしか入れていなければ、sqlはSSMSに紐づけられているはずなので、ダブルクリックしたときにSSMSは開きます)。 データベースのオブジェクトとして保存するためには、ビューやストアドプロシージャとしての書式を満たした形にする必要があります。たとえば、 SELECT * FROM TABLEA WHERE FIELD1=100 というクエリを書いたとして、 CREATE VIEW wkview1 AS SELECT * FROM TABLEA WHERE FIELD1=100 または CREATE PROCEDURE wksp1 AS BEGIN SELECT * FROM TABLEA WHERE FIELD1=100 END とすればビューもしくはストアドプロシージャとして保存できますが、普通はそこまでして一時的なものはデータベースに保存する文化はないです。

qwfgjo
質問者

お礼

なるほど。ありがとうございます。