
No.4ベストアンサー
- 回答日時:
#1、3です。
言い忘れたことをひとつ
そういえば大昔に同じ質問を@ITの掲示板で見かけた気がします
たぶんDatabase Expartだと思います。検索してみてください。
http://www.atmarkit.co.jp/bbs/phpBB/index.php
そのときのシステムテーブル(sysobjectsやsyscolumns)はバージョンによって仕様が変更になる可能性があるので、できるだけSQL-92準拠のInformation_schemaを使用したほうがよいと、どなたかが発言されてました
実際に2000と2005ではシステムテーブルに仕様変更があったみたいですし、ver7.0と2000も違います
INFORMATION_SCHEMA.KEY_COLUMN_USAGEのテーブルを使用しても
取得できるようですので、最終的にはこっちのほうを使おうと
思います。
丁寧な回答ありがとうございました。
No.3
- 回答日時:
システムストアドプロシージャを使用しても良いですか?
それなら単純にsp_help TABLE_NAMEやsp_pkeys TABLE_NAMEで取得できます。
ただし結果セットを取得してさらに別の処理するには、ひと工夫必要です。
.NET系などを併用すれば簡単にできますけど、T-SQLのみの制約で完結させなければいけない場合はopenrowsetなどをさらに理解してください
回答ありがとうございます。
システムストアドプロシージャってのがあるんですね。
まったくしりませんでした。
sp_pkeysで楽に取れそうです。
これを使った場合のデメリット等を調べてこれを使う
方向で行きたいと思います。
Oracleからの移行なんですけど、結構苦労しますね・・・・
No.1
- 回答日時:
select * from information_schema.constraint_column_usage
where table_name='TableA' and constraint_name like 'PK_%'
sysobjects,syscolumnsは使い勝手が悪いのでそれらを元に定義されているViewのinformation_schema系を使用すると便利だと思います。
alter tableで制約名を指定しない。名称をRDBSに任せて主キー制約はPK_で始まるのを前提にしています
回答ありがとうございます。
制約名には指定されているものもあるので、
この前提だと厳しいんですよね。
しかも、名前に統一性がまったく見られないので、
私も困っています。
OracleにあるようなUSER_TAB_COLUMNSやUSER_OBJECTS
のような感じの物があるといいんですけどね。
information_schemaとかいうのが定義されているのですね。
中身を見て見ましたが、何かの時には使えそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLManagementStudioのフィルタ
-
照合順序の変更について
-
主キーの取得
-
ポスグレ レコードの比較
-
システムテーブルについての疑問
-
PostgreSQLで外部DB内のテーブ...
-
3つ以上のテーブルをUNIONする...
-
「マスタ」と「テーブル」の違...
-
SQL Server のデータをCSVファ...
-
ACCESS2007 フォーム 「バリア...
-
SELECT文でのデッドロックに対...
-
Accessでクエリを完了できませ...
-
Access VBA [リモートサーバー...
-
DB2のロック調査
-
オラクルではできるのにSQLSERV...
-
重複するレコードに対しフラグ...
-
複数のテーブルから同じ条件で...
-
インデックスの再構築の意味っ...
-
Accessでレコードが更新された...
-
重複するキーから一番古い年月...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLManagementStudioのフィルタ
-
SQLServerでテーブルの列数を求...
-
PostgreSQLで外部DB内のテーブ...
-
主キーの取得
-
ポスグレ レコードの比較
-
システムテーブルについての疑問
-
複数チェック項目に対応したス...
-
照合順序の変更について
-
PostgreSQL 7.2.8 異なるデータ...
-
[PostgreSQL]別DBのテーブルのS...
-
PostgreSQLのテーブル構造を取...
-
【PostgreSQL】行の値の並びを...
-
「マスタ」と「テーブル」の違...
-
ACCESS2007 フォーム 「バリア...
-
SELECT文でのデッドロックに対...
-
3つ以上のテーブルをUNIONする...
-
ACCESSのSQLで、NULLかNULLでな...
-
SI Object Browserのテーブルス...
-
Accessにインポートしたら並び...
-
Access VBA [リモートサーバー...
おすすめ情報