新しいクエリを挿入して
クエリを保存したときは
データベースの
・テーブル
・ビュー
・シノニム
・プログラミング
・セキュリティ
のどこに保存されるのでしょうか?

SQL Server Management Studio ExpressのProjectsに「.sql」で保存されるようですが
データベースから開くことはできないのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

状況確認です。


1)SQL Server Management Studioで「新しいクエリ」をクリックして開いた「クエリエディター」にクエリを入力する。
2)クエリを名前をつけて保存する。

この状況では、オブジェクトエクスプローラから見ることはできません。オブジェクトエクスプローラーに表示されるのは、基本的にSQL Serverの支配下にあるものです。
先ほど保存したSQLはSQL Serverに保存したのではなく普通にテキストファイルを拡張子sqlで保存しただけのものです。ですので、保存したSQLは動かしたり削除ができます。

と言う状況で、何をしたいのでしょうか?

・別の日に、SQL Server Management Studioを立ち上げて、保存しておいたクエリをクエリエディターに表示させたい?
→[ファイル]→[開く]→[ファイル]でSQLを選択。

何をやりたいからSQLを選択したいのかを記載していただけると、より具体的な回答を他の方もしやすいかと思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/17 19:04

>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

とすればビューもしくはストアドプロシージャとして保存できますが、普通はそこまでして一時的なものはデータベースに保存する文化はないです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/17 19:02

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QACCESS クエリのデザインビューを開かせたくない。

管理者以外がクエリをデザインビューで開けないように設定したいのですが、セキュリティーの設定では、「構造の読み取り」にチェックを入れる必要があるので、クエリの抽出条件等が参照されてしまいます。(フォームを単票形式にしており、開いているフォームのページのID番号をクエリの抽出条件とし、レポートにその番号の内容のものだけが反映されるよう設定しています。また自分が作った関数の式を見られたくないのです。)クエリの条件がきちんとレポートに反映し、なおかつクエリをデザインビューで見れなくする方法はありますか。(「隠しオブジェクト」にするのは、なしです。ただ、隠しオブジェクトにしてもユーザーは「隠しオブジェクト」の設定ができないのであればありです。)
 プログラムを組むしかないのでしょうか?そうであればどんな感じで組めばいいのか教えてください。

Aベストアンサー

> クエリの条件がきちんとレポートに反映し、

クエリとして保存せずに、レポートのレコードソースでSQL文を使ってやるとか。

レコードソースプロパティで右側の ... をクリックすれば、クエリビルダが
起動しますので。

QSQL Server Management Studio Express を使ってのデータベース削除

Microsoft SQL Server Management Studio Express を使ってSQLを学んでいる入門者です。使用方法でわからない事があるので教えてください。
以下はすべてMicrosoft SQL Server Management Studio Express上での作業です。
(1)'TEST'の名前で新しいデータベースを作成
(2)作成されたデータベース'TEST'のアイコンを右リック→タスク→バックアップで、データベースをバックアップ
ここまでの操作で"C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup"フォルダには'TEST.bak'でバックアップファイルが作成されました。
次に
(3)作成されたデータベース'TEST'のアイコンを右リック→削除→「バックアップを削除し、データベースの履歴情報を復元する」にチェックが入っているので、そのまま実行。
質問ですが、以上の操作を行えばデータベース本体の他に(2)で作成されたバックアップファイル'TEST.bak'も削除されると思ったのですが、そのまま削除されずに残ってしまいます。
(3)の「バックアップを削除し、データベースの履歴情報を復元する」のオプションはどういう意味なのでしょうか。ヘルプを参照しましたが、やはりバックアップファイルは削除されるのではないかと思うのですが・・

Microsoft SQL Server Management Studio Express を使ってSQLを学んでいる入門者です。使用方法でわからない事があるので教えてください。
以下はすべてMicrosoft SQL Server Management Studio Express上での作業です。
(1)'TEST'の名前で新しいデータベースを作成
(2)作成されたデータベース'TEST'のアイコンを右リック→タスク→バックアップで、データベースをバックアップ
ここまでの操作で"C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup"フォルダには'TEST.bak'でバックアップファイルが...続きを読む

Aベストアンサー

実際に 2タイプの削除操作の際にバックでどんな T-SQL が動いているか、SQL Server Management Studio の [ツール]-[SQL Server Profiler] でトレースして確認することができます。
実験したデータベースは作って間もない、テーブルも作ってないデータベースです。

大きく違うのは、
[バックアップを削除し、データベースの履歴情報を復元する] にチェックを入れた場合は sp_delete_database_backuphistory というストアド プロシージが実行され、その後に DROP DATABASE が実行されるのに対し、
[バックアップを削除し、データベースの履歴情報を復元する] にチェックを入れなかった場合は DROP DATABASE だけが実行されていました。
(実際にはその過程でいろんな SELECT が動いてます)

バックアップのファイルを物理的に削除するというよりは、システム DB などに記録されている「バックアップの履歴」を削除するというイメージじゃないですかね。

バックアップしたファイルは SQL Server からするとバックアップした瞬間から外部ファイルであって、SQL Server の管理外にあるファイルになるんだと思います。

余談ですが、SQL Server Profiler というツールはかなり便利なツールです。
Management Studio のような GUI ツールで DB を操作した時、実際に SQL Server 上ではどんな SQL 文を実行しているのかが分かりますので、例えば自作の Web ブラウザ版 Management Studio のようなツールを開発するのにも役立ちます。

実際に 2タイプの削除操作の際にバックでどんな T-SQL が動いているか、SQL Server Management Studio の [ツール]-[SQL Server Profiler] でトレースして確認することができます。
実験したデータベースは作って間もない、テーブルも作ってないデータベースです。

大きく違うのは、
[バックアップを削除し、データベースの履歴情報を復元する] にチェックを入れた場合は sp_delete_database_backuphistory というストアド プロシージが実行され、その後に DROP DATABASE が実行されるのに対し、
[バックア...続きを読む

Qアクセスのクエリのデザインビュー

表記の件で質問させてください。
デザインビューの抽出条件でIsNullやnotNull
を指定するにはどのようにしたらいいのでしょうか?
よろしくお願いします。
項目タイプは数値型です。

Aベストアンサー

スペースが抜けています

Is Null

Not Is Null

Null <>Null
と入力しても上のように書き変えてくれますよ

QSQL Server Management Studioの日本語化

SQL Server Management Studio Expressを日本語に対応させることは出来ないでしょうか。

よろしくお願いいたします。

Aベストアンサー

> あと、エンタープライズマネージャーで行なってい> た、バックアップのスケジュール管理の
> 方法が分からず苦戦しています。
> どこで設定すればよいのかご存知であれば教えてください

これって Express Edition では無理じゃなかったかなぁ・・・
エージェントのジョブって Express では作れなかったような。
んなもんで「今まではお客さんに付けるシステムに MSDE をくっ付けることが多かったけど、2005 ではダメかもね」てきな話題が一時期 ML で流行ったような。
まぁ MSDE が「こんなんで何故無料なの?」といった大盤振る舞いでしたからね。
http://www.microsoft.com/japan/sql/prodinfo/features/techinfo/management.mspx
http://www.microsoft.com/japan/sql/prodinfo/features/compare-features.mspx

QACCESS2003のクエリのデザインビューの抽出条件について

現在ACCESS2003上で、テーブルとテーブルを結合させて、日時を抽出条件にして表示させるレコードを限定しています。

そこで
発生日時≦対処日時≦回復日時
という抽出条件を
[テーブル1]![対処日時] >=[テーブル2]![発生日時] And [テーブル1]![対処日時]<=[テーブル2]![回復日時]
と記載しています。

ここまでは良いのですが
次に
発生日時-1時間≦対処日時≦回復日時+1時間
という風に抽出条件の範囲を時間で広げてやりたい場合はどのようにすればよいでしょうか

一度、日時をシリアル値に変換するという処理が必要になってくるのでしょうか。
日時のフォーマットは
yyyy/mm/dd hh:mm:ssです。

わかりましたら、ご回答よろしくお願いいたします。

Aベストアンサー

DateAdd関数を調べると分かりますよ

QSQL Server Management studioで

SQL Server Management studioで
新しくデータベース(MyDatabase)、テーブル(NameTable)を作成してみたんですが、
Visual Web developer 2010 Express のデータベースエクスプローラから
MyDatabase.mdfを開こうとしても「このファイルは使用されています。…」
というような文言が出てきて、呼び出せません。

Vista,SQL Server 2008,Visual Web developer 2010 Expressの環境です。

どなたか教えて下さい。

Aベストアンサー

SQL Serverが当該ファイルを使用中なのでは。
SQL Serverを停止してみるとか。VWDのDatabase Explorerならアタッチ方式でなく接続方式を使えないか試してみるとか。

Qリレーションシップがたくさんついているクエリ同士だと、不一致クエリを作

リレーションシップがたくさんついているクエリ同士だと、不一致クエリを作成することはできないのでしょうか?

不一致クエリにしたい二つのクエリのみ別のフォームで作成し直して、不一致クエリを作成すると、抽出してくれたのですが、もともとのリレーションシップがついているクエリのままだと抽出が0になってしまいます。

フィールドやデザインは全く同じなのですが、やはりリレーションシップのせいでしょうか?

Aベストアンサー

【要旨】
クエリの結合線は、『結合先のテーブルのデータを検索条件として
扱う』という働きを持ちます。
リレーションシップによって自動で追加された結合線が不要(無用)
な場合は、クエリのデザインビューから削除する必要があります。

※リレーションシップは削除せず、クエリ毎に結合を編集します※


【詳細】

> リレーションシップがたくさんついているクエリ同士だと、
> 不一致クエリを作成することはできないのでしょうか?

『リレーションシップ』が「直接」レコードの抽出件数を左右する
ことはありません。

ただ、クエリのデザインビューで、リレーションシップが設定
されたテーブル同士を追加した場合等には、それに対応した
『結合線』も自動的に追加されます。

リレーションシップと結合の違いについて(回答No.2):
http://oshiete.goo.ne.jp/qa/5073445.html

この、『クエリのデザインビューでの、テーブルの結合』は、
「複数の検索条件を指定した抽出」としての意味を持つため、
リレーションシップの設定が、結果として(間接的に)、
抽出件数を左右する、ということはあります。
http://oshiete.goo.ne.jp/qa/5683407.html

従って、クエリで実際に行いたい抽出の内容によっては、
リレーションシップの設定を元に自動的に追加された結合を
削除したり、結合の種類を変更したり、といった操作も必要に
なります。

操作方法は、それぞれ以下の通りです:

<結合線の削除>
a)結合線をクリックして太線表示になった状態で、キーボードの
 Deleteキーを押す
b)結合線を右クリックして表示されるメニューから「削除(D)」を
 選択

<結合線の変更>
 結合線をダブルクリックするか、それを右クリックして表示
 されるメニューから「結合プロパティ(J)」を選択すると開く
 『結合プロパティ』ダイアログで、目的に合った項目を選択


・・・以上、長文失礼致しました。

【要旨】
クエリの結合線は、『結合先のテーブルのデータを検索条件として
扱う』という働きを持ちます。
リレーションシップによって自動で追加された結合線が不要(無用)
な場合は、クエリのデザインビューから削除する必要があります。

※リレーションシップは削除せず、クエリ毎に結合を編集します※


【詳細】

> リレーションシップがたくさんついているクエリ同士だと、
> 不一致クエリを作成することはできないのでしょうか?

『リレーションシップ』が「直接」レコードの抽出件数を左右する
ことはありま...続きを読む

Q「SQL Server Management Studio Express」が消えた

スタート→全てのプログラム→Microsoft SQL Server 2005→
の次にあった「SQL Server Management Studio Express」が消えました。

多分、間違って削除してしまったと思います。
どうすれば復活することができますか?

スタートアップのMicrosoft SQL Server 2005の中には「構成ツール」しかありません。

「プログラムと機能」を見る限り、アンインストールをしてはいないので
どっかにあると思います。

どうすれば元通りにすることができるのでしょうか?
よろしくお願いします。

Aベストアンサー

デフォルトインストールをしている場合ですと

エクスプローラーで、
C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\ssmsee.exe
を開いてください。

もし無い場合は、バージョン差異なのでProgram Files配下のSQL Serverという単語がついているフォルダ内を上記パスを参考に探してみてください。

QACCESS2007のクエリについて

ACCESS2007のクエリについて

ACCESS初心者です。
よろしくお願いします。

クエリを作成するときに、デザインビューでフィールドの位置を変更したり、
(たとえば、「氏名」の列を4列目から2列目に移動する)
並べ替えなどをして、データシートビューにすると反映されているのに、
データシートビューでフィールドの位置を変更したり、並べ替えなどをしても、
デザインビューには反映されてませんが、
クエリとはこういうものなのですか?

Aベストアンサー

デザインで設定を元にデータシートビューを(毎度)作ってます。
クエリデザインビューで設定を定義する、
その実行結果を見るのが(クエリの)データシートビュー、
そういう使い方です。
テーブルのデザインビュー、データシートビューも同じ感覚と
みていいでしょう。

デザイン上でも変更できて、データシートビュー上でも変更できたら
何が正しい状態かわからなくなってしまいます。

クエリデザインビューで設定したらデータシートビューで確認、
追加修正あったらクエリデザインビューで修正しまたデータシートビューで確認、
この繰り返しです。
必要に応じて保存。

QSQL server 2008 management studio で

SQL server 2008 management studio でテーブル内を1000件以上表示させ、編集したい。

いつもお世話になっております。

今回、DBにSQL server 2008を使用しており、
DBの中身を、management studioで確認しておりました。

テーブル内のデータが1000件以上になり、
1000件以上のデータを表示したくても、
できません・・・。

management studioでは1000件以上のデータ表示はできないのでしょうか?

management studioでの1000件以上の表示方法、
もしくは、それ以外の初心者でも使えるツールで、
1000件以上のデータの表示と編集・削除ができる方法を、
教えていただけましたら幸いです。

すみませんが、よろしくお願いいたします。

Aベストアンサー

SQL Server 2005のSSMSでは行数に制限がなかったので、2008で困った人は結構いるようですね。
SQL文を学ぶに越したことはないものの、ちょっとした作業にはGUIは便利であることは私も否定しません。

ツール=>オプション=>SQL Serverオブジェクトエクスプローラ=>コマンド
ここに「上位<n>行の選択コマンドの値」「上位<n>行の編集コマンドの値」という設定があります。
それぞれをゼロにすると、件数制限は外せます。

ただ、「100万件のテーブルでこれをやるとどうなるか」を考えると、件数制限ができるようになった理由もご理解いただけるでしょう。一応「改善」の1つだと私は思います。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報