- PR -

SQL Server2000 sp_tablesについて

1
投稿者投稿内容
めだか
大ベテラン
会議室デビュー日: 2004/11/11
投稿数: 109
投稿日時: 2004-12-17 17:06
sp_tables を使用して特定のテーブルだけを取り出したいと思っています

select * ( exec sp_tables @table_type="'table'") where
table_name= 'm0010'

これではエラーになるのですが
ストアドの戻りをテーブルとして扱うにはどのようにすればいいのでしょうか?
ya
大ベテラン
会議室デビュー日: 2002/05/03
投稿数: 212
投稿日時: 2004-12-17 18:22
コード:

CREATE TABLE #temp (
	TABLE_QUALIFIER sysname,
	TABLE_OWNER sysname,
	TABLE_NAME sysname,
	TABLE_TYPE varchar(32),
	REMARKS varchar(254)
)

INSERT INTO #temp EXEC sp_tables

SELECT * FROM #temp
WHERE
	TABLE_NAME = 'm0010'



こんな感じでどうでしょうか。
めだか
大ベテラン
会議室デビュー日: 2004/11/11
投稿数: 109
投稿日時: 2004-12-17 19:41
できました!

一時テーブルに一旦入れないといけないという事は
ストアドにしないと実現できそうないですね
関数では無理みたいでした。

ありがとうございました
えんぞ@?
ぬし
会議室デビュー日: 2004/07/06
投稿数: 271
お住まい・勤務地: はまっこ
投稿日時: 2004-12-18 10:03
目的が何なのか不明ですが、ストアドを使いたくなければ直にシステムテーブル
を参照しては如何でしょう。

SELECT *
FROM sysobjects
WHERE (xtype = 'U') -- ユーザー テーブル
めだか
大ベテラン
会議室デビュー日: 2004/11/11
投稿数: 109
投稿日時: 2004-12-20 10:17
目的は、テーブルの拡張プロパティ、カラムのデータ型、主キー
外部キー、インデックス、制約、トリガ
などを見やすい形に書類にまとめることです
sysobjects 使えばいろいろできそうです
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)