
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で質問しましょう!
似たような質問が見つかりました
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
- PostgreSQL 列が存在しないと言われる 2 2023/02/10 18:33
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- マウス・キーボード Deleteキーを同時押しで入力できるようにするソフト 2 2023/08/10 21:55
- PostgreSQL 投稿記事と関連付けているテーブルがわからない 1 2022/04/27 20:29
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- HTML・CSS アドバイスを下さい。 1 2022/10/08 01:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブル定義(Foreign Key)の...
-
エクセル、セルにリスト表示させる
-
Accessのテーブル設計について...
-
cron設定について
-
効率的なインデックスのつけ方は?
-
MySQL+PHP 特定レコードの更新...
-
Movable TypeとNamazuについて
-
インデックスを調べる方法は?
-
Accessのコンボボックスの使い...
-
sqlのJoinでこんなこと出来ます...
-
SQL結合条件
-
リリポップサーバーの独自ドメ...
-
アクセス97で重複データのときに
-
デッドロックについて
-
UPDATE文で発生するデッドロッ...
-
MySQLのON DUPLICATE KEY UP
-
intel 945Pチップセットのパフ...
-
Access97で数値型からテキスト...
-
AccessVBAで降順にするテーブル...
-
ファイルメーカーで週間予定表
マンスリーランキングこのカテゴリの人気マンスリー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 [リモートサーバー...
おすすめ情報