電子書籍の厳選無料作品が豊富!

テーブル名を一覧表示したいのですが、
SQL Server 2005 での方法ご存知でしょうか?

http://msdn2.microsoft.com/ja-jp/library/ms18982 …

T-SQL の一覧を見てみましたが解らず...

A 回答 (4件)

MySQLの場合、従来からの



use データベース名;
show tables;

は、MySQL 5.0以降は、次のSQLでも得ることができます。

select table_name
from information_schema.tables
where table_schema='データベース名'
;

また、SQL Server 2005の場合も、次のSQLで得ることができます。

select table_name
from information_schema.tables
where table_catalog='データベース名'
;

表より上位のデータベース名といった情報が、入っている列が違っていたりするので、一旦、information_schema.tablesの全列の内容を確認してみてください。
    • good
    • 0

>GO は無くても動くと思うのですが、どのような意味があるのでしょうか?



この辺の事情については、詳しい訳ではないのですが。。。

SQL Serverは、SQLをキャッシュに溜め込んで行き、goで実行する仕組みです。

マニュアルの例題を見れば分かると思いますが、SQL Serverは、ストアド・プロシジャを定義しなくても、if文などの手続を含めてSQLを指定可能で、文を溜め込んで、goで実行します。また、「go 実行回数」といった指定で、複数回実行させることもできます。
    • good
    • 2

SQL Serverで表や列の定義情報を知る方法は、いろいろな方法があります。



SQL Server 2005なら、情報スキーマ(INFORMATION_SCHEMA)をSQLで参照する方法があります。
http://msdn2.microsoft.com/ja-jp/library/ms18677 …

表などの定義情報を知る方法は、各RDBMSでバラバラだったのですが、INFORMATION_SCHEMAは標準SQLでも規定され、これを実装しているRDBMSでは、基本的な情報は同じような方法で得ることができます。

MySQLも5.0以降なら、情報スキーマ(INFORMATION_SCHEMA)が実装されています。
http://dev.mysql.com/doc/refman/5.1/ja/informati …

この回答への補足

よろしければ重ねてお伺いしたいのですが、
GO は無くても動くと思うのですが、どのような意味があるのでしょうか?

補足日時:2008/02/19 12:06
    • good
    • 0
この回答へのお礼

SELECT * FROM INFORMATION_SCHEMA.TABLES
で出来ました^^  とても便利ですね 回答ありがとうございました

お礼日時:2008/02/19 12:05

sqlcmd -s \EXPRESS


use [DB_NAME]
select * from sys.tables
go

で一覧が出てくるとは思いますが・・
    • good
    • 0
この回答へのお礼

出来ました! 早速の回答ありがとうございました。

お礼日時:2008/02/19 12:06

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