
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ランキング
-
SQLのエラー(~付近に不適切な...
-
SQLCMDにて教えていただきたい...
-
<SQL>重複しているデータの場合...
-
sqlで、600行あるテーブルを100...
-
ACCESS2007 フォーム 「バリア...
-
BULK INSERT時のNull許容について
-
chr(13) と char(13) の違いっ...
-
インストール可能なISAMド...
-
【VB.NET】日付型の列にNULLを...
-
SQL文 複数実行
-
SQL Date型の列から年月だけを...
-
2つのPCの SQL Server のテー...
-
【SQLサーバ】float型における...
-
sqlserverで集計結果をUPDATEし...
-
大学でSQLの授業があるのですが...
-
SQL Server management studio ...
-
sql serveについて
-
Accessの重複なしのカウントの...
-
IDが重複した場合、その他のデ...
-
外付けハードディスクの容量が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLServerでテーブルの列数を求...
-
SQLManagementStudioのフィルタ
-
システムテーブルについての疑問
-
PostgreSQLで外部DB内のテーブ...
-
主キーの取得
-
テーブル定義(Foreign Key)の...
-
照合順序の変更について
-
ポスグレ レコードの比較
-
SQLサーバーとMySQLの大きな違...
-
【PostgreSQL】行の値の並びを...
-
「マスタ」と「テーブル」の違...
-
3つ以上のテーブルをUNIONする...
-
ACCESSのSQLで、NULLかNULLでな...
-
ACCESS2007 フォーム 「バリア...
-
SELECT文でのデッドロックに対...
-
オラクルではできるのにSQLSERV...
-
SI Object Browserのテーブルス...
-
Accessにインポートしたら並び...
-
Access VBA [リモートサーバー...
-
SQL Server のデータをCSVファ...
おすすめ情報