SQLserver2005 テーブル一覧の取得

このQ&Aのポイント
  • SQLserver2005のテーブル一覧を取得する方法についてご教示ください。
  • EXEC sp_tablesを使用してテーブル一覧を取得しようとした際にエラーメッセージが表示されます。正しい書き方や実行場所について教えてください。
  • SQLserver2005のテーブル一覧を表示するためにはどのような手順を踏めば良いですか。
回答を見る
  • ベストアンサー

SQLserver2005 テーブル一覧の取得

SQLserver2005 テーブル一覧の取得 知っている方には、基礎すぎて申し訳ないのですが、 添付画像のテーブルを選択して、SQLペインを表示させて そこに、  EXEC sp_tables と記述して、テーブル一覧を取得しようとして「!」マークを 押して、sp_tablesを実行させようとした所、下記のようなエラーメッセージが 出てしまいます。 EXEC SQL コンストラクトまたはステートメントはサポートされていません。 書き方が悪いのか、ストアドプロシージャの実行場所が悪いのかよく分かりませんが うまく行きません。 sp_tablesを使用して、テーブル一覧を取得する方法をどなたか教えて下さい。 よろしくお願いします。

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

  • ベストアンサー
回答No.1

「新しいクエリ」で、テーブルに結びついてないクエリエディタを開いて、 そこで実行してください。

bebestplay
質問者

お礼

ありがとうございます。 無事実行する事ができました!

関連するQ&A

  • SQLiteにてテーブル一覧を取得したい

    SQLiteにてテーブル一覧を取得したい PHPにてSQLiteを使って勉強中なのですが、 sqlite_openでファイルを読み込み クエリーを投げて、そのファイルの中にあるテーブル一覧を取得したいのですが、 どのようにすれば一覧が取れるでしょうか? sqlite_query($sqlite, '.tables');だと構文エラーになってしまいますし、 execのような物から取ろうとするとかなり複雑なロジックになってしまいます。

    • ベストアンサー
    • PHP
  • ユーザーが定義したストアドプロシージャ一覧の取得

    SQL Server 2005で、 db内のストアドプロシージャ一覧を取得したいと思っています。 select o.* from syscomments c , sysobjects o where c.id = o.id and o.type='P' order by o.name といったように記述すれば一覧は取得できるようですが、 これだとシステムストアドプロシージャも表示されてしまいます。 ユーザーで定義したストアドプロシージャのみ取得したいのですが、可能でしょうか? 何か良い手段をご存じの方がいらっしゃいましたらアドバイス頂けますと嬉しいです。 どうぞよろしくお願いいたします。

  • ストアドの一時テーブル格納について

    ストアドの一時テーブル格納について SQLServer2000を使用しています。 sp_help_jobの結果セットを一時テーブルにいれたく、 以下のようなスクリプトを作成しています。 -------------- create table #tbl (  列名  ・  ・  ・ ) Insert into #tbl msdb.dbo.sp_help_job -------------- スクリプトを実行すると、以下のエラーでInsertに失敗します。 「メッセージ 8164、レベル 16、状態 1、プロシージャ sp_get_composite_job_info、行 72 INSERT EXEC ステートメントは入れ子にはできません。」 上記の改善策についてアドバイス頂けないでしょうか。 よろしくお願いします。

  • 「○○~」で始まるテーブル一覧

    SQLで「テーブル名が『○○~』で始まるテーブル一覧を取得」することは可能でしょうか?可能な場合、どのように記述すれば良いのでしょうか?なお、DBはOracleです。

  • SQLServer2005のストアドプロシージャのデバックの設定方法をご教示ください

    SQLServer2005でストアドプロシージャを作成しました。 VisualStudioを使用すればデバッグ(一行ずつ実行して、変数の中身や動作を確認)できるということですが、設定がうまくできません。 ストアドプロシージャ作成は初めてで、周りにも経験者がいないため解決策がわからない状態です。 ご存知の方、気がついたことがある方は、ぜひご教示ください。 ■■ マシン環境 ■■ OS:Windows2003Server DB:SQLServer2005 ■■ 試した方法 ■■ 1.DBサーバマシンのVisualStdio2005を使用 上記マシンに、SQLServer2005をインストールしたとき、  VisualStudio2005が自動的にインストールされたので これを使用することを考えました。 VisualStudio2005の「サーバーエクスプローラー」に、 今回作成したストアドプロシージャを表示するところまではできたのですが、 デバッグ実行できません。 メニューから「ストアドプロシージャのステップイン」を選択してデバッグウインドウを表示するらしいのですが メニューには、以下のものしか表示されません。  新しいプロシージャの追加 / 開く / 実行 ためしに実行すると、ストアドプロシージャは動作します (テーブルへのデータINSERTをストアドでコーディングしており、実行後に指定値が入っていたため) しかし、デバッグポイントを設定できず、ステップ実行もできません。 2.別マシンのVisualStdio2003を使用 私の開発マシンにはVisual Studio 2003が入っているため、 DBサーバマシンとリモートで接続して、上記と同様の設定を行いました (このVisual Studio2003はC#開発用にインストールしたものです)。 こちらは、メニューに「ストアドプロシージャのステップイン」が出ました。しかし……。 メニューから「ストアドプロシージャのステップイン」を選択してデバッグウインドウが表示されたときに、以下のメッセージボックスが出ます。 「SQL Server データベースが正しくセットアップされていないか、またはユーザーに master.sp_sdidebug を実行する権限がないため、ストアド プロシージャをデバッグできません。」 デバッグウインドウ上でデバッグポイントは設定できますが、 ストアドプロシージャを実行してもデバッグポイントでとまらず ステップ実行もできません。 (同様にINSERTしたテーブル値から、ストアド自体は動作していると判断) なお、1.2.共にSA認証でSQLServer2005にログオンしています。 SQLServer のデバッグできるのは、sysadminサーバロールを持つユーザだけらしいですが、 SA認証で使用しているユーザには「sysadmin」のサーバロールは設定しています。 ■■ 質問 ■■ 1) QLServer2005インストールで自動的にインストールされるVisualStudioでは、 ストアドプロシージャのデバッグはできないのでしょうか? それとも、SQLServer2005インストール時に、開発環境等の追加設定や、 別途VisualStudio2005をインストールする必要があるのでしょうか? それとも、別にSQLServer management Studioや構成ツール等で設定が必要なのでしょうか? または、メニューに「ストアドプロシージャのステップイン」を出す設定(方法)をご存知の方、ご教示をお願いします。 2) 「SQL Server データベースが正しくセットアップされていないか、またはユーザーに master.sp_sdidebug を実行する権限がないため、ストアド プロシージャをデバッグできません。」 このメッセージはどうすれば回避できるのでしょうか? SQL Server データベースが正しくセットアップされていないということですが、 これまで特に支障がないため問題はないと思っているのですが……。 検索で以下のサイトを見つけましたが、SQLServer2000のため参考になるかは疑問です。   http://support.microsoft.com/kb/839280/ja   http://support.microsoft.com/kb/886680/ja 以下のサイトは、どうすれば原因回避できるのかわかりませんでした(勉強不足を感じております)   http://msdn2.microsoft.com/ja-jp/library/ms164014.aspx master.sp_sdidebug を実行する権限の設定方法をご存知の方、ご教示いただけませんでしょうか? 3) Visual Studio以外で、SQLServer2005のストアドプロシージャをデバッグする方法がありましたらご教示ください。 変数の途中の値を一時テーブルにINSERTして確認するくらいしか方法はありませんでしょうか? 申し訳ございませんが、もしご存知の方、ご教示いただけませんでしょうか? なお、設定やマシン環境で記述不足等ありましたら、ご指摘いただければと思います。 以上です。よろしくお願いします

  • SQL 2000 にあった一覧のエクスポートはSQL 2005では無いですか?

    SQL 2000 Server のEnterprise Managerにある一覧のエクスポートボタンが、SQL 2005 ServerのManagement Studioにありません、何か良い手はあるのでしょうか。 やりたいことはテーブル、ストアドプロシージャ、ビューの一覧をエクスポートしたいです。

  • テーブルが存在していたらDROPしてからCREATEするには?

    作成しようとするテーブルが既に存在している場合 一度DROP TABLEを行いたくて、以下のSQLを作成したのですが 削除が実行されません。 そもそものやり方自体が間違っているのでしょうか? 実行後のメッセージは テーブルが存在しなかった場合→コマンドは正常に完了しました。 テーブルが存在した場合→データベースにオブジェクト名 'SLIP_ITEMXX' が既に存在します。 と、表示されます。 --テーブルが存在した場合削除する ※ストアド使用 CREATE PROCEDURE SP_SLIP_ITEMXX AS DECLARE @TableName varchar DECLARE @Sql varchar set @TableName = 'SLIP_ITEMXX' SET @Sql = 'if exists (select * from dbo.sysobjects where id = object_id(N' + @TableName + ') ' + 'DROP TABLE ' + @TableName EXEC(@Sql) GO --テーブル生成 CREATE TABLE SLIP_ITEMXX( [slip_no] [int] NOT NULL ) GO --ストアド削除 DROP PROCEDURE SP_SLIP_ITEMXX GO

  • オラクルからのSQLServerへのデータを取込み

    お世話になります。 オラクルのテーブルからSQLServerのテーブルにデータをスケジューリングして 取り込みたいのですが、どのようにして行えば良いのでしょうか? オラクルの事しか知らないのですが、ストアドプロシージャ-のようなもので 取込みを行うのでしょうか? どなたかご存知でしたら、お教え願います。

  • SQLServer2005のテーブル作成について

    こんにちわ。 いまSQLServer2005Expressをダウンロードして, データベースを作成し,そこにテーブルを作成しようとしています。 そこで「SQLServer Managemant Studio Express」を使用すれば, 一応テーブルを作成することができるのですが, テーブル定義のスクリプトを作成して, OracleのSQL*Plusのようなコマンド機能から実行したいのですが, SQLServerではそれはどの機能にあたるのでしょうか? 教えてください。よろしくお願いします。

  • BIのSSISで一時テーブルの作成ができない

    Ver:SQLServer2005 SQL Server Business Intelligence の SSIS の、 「SQL 実行タスク」にて、グローバル一時テーブルの 作成を試みたところ、実行結果は問題なく完了となっているのですが、 実際にテーブルの生成がされていませんでした。 また、ストアド上でグローバル一時テーブルを作成するようにし、 そのストアドを実行させて問題なく完了させても、 やはりテーブルの生成がされていませんでした。。 なお、グローバル一時テーブルの削除は問題なくできます。 これは、そもそも出来ない操作なのか、 それとも、何か解決法があるのか、どなたかご教授願えないでしょうか? 恐れ入りますが、なにとぞよろしくお願いいたします。