![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
現在、SQLServer勉強中のものです。たびたびの質問ですいません。
sp_columnsというシステムストアドプロシージャで列情報が取得できますが、@table_nameでテーブルを、@table_ownerで所有者を指定できますよね。
さらに@table_qualifierでデータベース名を指定できると思っていたのですが、これは無理なのでしょうか。
ヘルプには「SQLServerでは、この列はデータベース名をあらわします」とあるのですが、現在、接続データベース以外のデータベースに格納されているテーブルの列情報を参照しようとすると「オブジェクト修飾子の一部になるデータベース名には、現在のデータベースを指定してください。」と表示されてしまいます。
例:TestDB1に接続してTestDB2内のテーブル指定
use TestDB1
sp_columns
@table_name=TestDB2Tbl,
@table_qualifier=TestDB2
No.2ベストアンサー
- 回答日時:
他のシステムストアドプロシージャの心当たりはありません。
No.1648536 質問:列名とそのデータ型
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1648536
にあるようにsyscolumns等のシステムテーブルから自前で情報を取得するか、ODBC経由の場合は接続文字列に"DATABASE={データベース名};"を追加して任意のデータベースに接続してからテーブル情報・列情報を取得するか、あるいはOLEDB経由でデータベース情報・テーブル情報・列情報を取得するか、というところではないでしょうか。
回答ありがとうございます。参考URLのSQLでデータベース・所有者・テーブル名を指定し、自在に列情報を取得できるようになりました。感謝いたします。
No.1
- 回答日時:
sp_columnsの最初のほうに
if @table_qualifier is not null
begin
if db_name() <> @table_qualifier
begin /* If qualifier doesn't match current database */
raiserror (15250, -1,-1)
return
end
end
と書いてあり、raiserror (15250, -1,-1)は
"オブジェクト修飾子の一部になるデータベース名には、現在のデータベースを指定してください。"
を表示するので、@table_qualifierに現在のデータベースとnull以外は指定できないようです。
先日に続き、ご回答ありがとうございます。もう一つ質問させてください。sp_columns以外に他のデータベースの列情報が取れるようなシステムストアドプロシージャはないでしょうか。複数のシステムでデータベースの垣根を越えて、自在に、使用するテーブルの列情報を取得したいと考えており、いっそのこと「select * from TABLE」で欲しいテーブルの情報を全部とってきて、レコードセットでフィールドをチェックしたほうがいいのだろうか、と悩んでいます。データ件数が多いと相当負担も大きいと思うので、こちらもあまり使いたくない方法なのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- Oracle 参照関係のフィールドについて 1 2023/05/27 17:49
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- その他(データベース) IT用語について質問です。 以前ITパスポートの試験を受けた際にデータベースが何の集まりかについての 2 2022/12/10 12:29
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースの最適化をマクロ...
-
私があるアカウント発行の権利...
-
アクセスのデータがブッ壊れた...
-
ビジネスロジックの実装
-
DB2 UDBって?
-
sp_columnsでデータベース名を...
-
バッファプールって?
-
無機材料のRamanバンドのお勧め...
-
SQLserverやOracleなどの導入費用
-
アダバス
-
【エクセル】自動保存先として...
-
accessの勉強ができるサイトは?
-
マクロでデータベースの最適化...
-
【エクセル】データベースシー...
-
ODBC接続とDBLINK
-
CDの売上枚数を知りたいのですが
-
データベースDB2とMySQLについて
-
履歴書 データベース使用経験とは
-
SQLServer無料版について
-
AccessとSQL Serverの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースの最適化をマクロ...
-
AndroidからのAccessデータベー...
-
accessの勉強ができるサイトは?
-
ACCESS2019でのエラーメッセージ
-
Microsoft Accessについて
-
CDの売上枚数を知りたいのですが
-
今年亡くなった有名人を一発で...
-
Accessのレポートで「縦書き」...
-
AccessとSQL Serverの違い
-
マクロでデータベースの最適化...
-
バッファプールって?
-
アクセスのデータがブッ壊れた...
-
ADODB.Recordset エラー '800a0...
-
NOTESでデータベースを開いたと...
-
「桐」の得手不得手
-
DB2 UDBって?
-
RBDの反対語は?□DB??
-
「オフセット値」とは?
-
oo4oの読み方・・・・。
-
IPアドレスを数値に変換
おすすめ情報