• ベストアンサー

SQLサーバから、項目の属性(型)を取得したいのですが・・・

SQLサーバからテーブルの項目名、属性(型)を取得するには、どのように クエリを組めば良いのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

2つ前の質問に書いたのと一緒ですが。。 基本的にsys.objects, sys.columnsというシステムビューを使います。 select object_name(object_id),name,type_name(user_type_id) from sys.columns c where object_id=object_id('テーブル名')

aya--chan
質問者

お礼

select name,type_name(xtype) ~ で取得できました! ありがとうございます

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

SQL Server 2005以降なら、information_schemaが実装されているので、定義済の表の構成列名、データ型などの参照がより簡単になっています。 http://msdn.microsoft.com/ja-jp/library/ms186778(SQL.90).aspx

aya--chan
質問者

お礼

情報ありがとうございます

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • SQL Server2008でリンクサーバからテーブルを作成する方法

    SQL Server2008で、リンクサーバからテーブル(属性も含み)作成を行うには どのようにするのでしょうか (リンクサーバの設定は行えましたが、SQL Serverの知識はほとんどありません・・・) into テーブル名 FROM リンクサーバ(テーブル) というので テーブル属性も含めてテーブルを作成できるとの記事はあったの ですが、クエリで実行してもエラーとなってしまいます。 SQL Server2008でSQLを発行するには特別な指定が必要なのでしょうか? (SQLを発行する場所が間違っているのかもですが) 初歩的な質問で申し訳ございません、よろしくお願いします

  • 複数のSQLサーバから、SQLサーバにデータを取得する方法

    3台のSQLサーバのデータを、1台のSQLサーバで日々自動で取得するにはどういう方法が良いでしょうか 3台のSQLサーバからは、同じ属性のテーブル情報を1つのテーブルに取得したい(更新日が前日分) PGはVB.netで考えています ご指導お願いします

  • SQLサーバーについて

    アクセスユーザーです。 データベースを操作するならアクセスよりSQLサーバーの方が良いと聞いたのですが SQLサーバーのイメージがいまいちわかりません。 アクセスは、 ・テーブル ・クエリ ・フォーム ・レポート ・マクロ ・VBA がありますが、 SQLサーバーは、テーブルとクエリしかなくて、 テーブルの置き場として使うソフト。と言う認識であってますか?

  • 列番号による項目の取得について

    SQLの構文についての質問です。 あるテーブルからデータを取得する場合、 「SELECT 項目名1,項目名2・・ FROM テーブル名 WHERE 条件」 というSQL文となりますが、 項目名1,項目名2の部分を列番号を指定することによって 値を取得することは可能でしょうか?

  • SQLサーバーのテーブルに対してアクセスで更新クエリを行ないたい

    こんばんは。 ・vista ・アクセス2003 ・SQL Server 2005 です。 SQL ServerからテーブルをMDBへリンクしているのですが そのテーブルに対し、アクセス側で更新クエリを実行しようとすると 実行時エラー '3157': ODBC--リンク テーブル'テーブル名'での更新に失敗しました。 [Microsoft][ODBC SQL Server Driver]時間切れになりました。(#0) と言うエラーになり、更新クエリができません。 どうすればアクセスでSQLサーバーのテーブルに対して更新クエリを行えるのでしょうか? よろしくお願いします。

  • SQLサーバーはテーブルの置き場として使えるのでしょうか?

    SQLサーバー初心者です。 アクセスのMDBファイルのリンクテーブルとしてSQLサーバーを使う場合、 クエリとかストアドプロシージャー(?)などの機能があるみたいですが よくわからないので 本当にただテーブルの置き場としてSQLサーバーを使うことはできるのでしょうか? 宜しくお願い致します。

  • SQLサーバーに保存してあるクエリをアクセスで開くには?

    SQLサーバーに保存してある「クエリ1.sql」をアクセスで開くにはどうすればいいでしょう? アクセスで「リンクテーブル」→「ODBC接続」 でテーブルのリンクはできているのですが クエリをリンクするにはどうすればいいでしょうか? 宜しくお願い致します。

  • SQLで取得可能でしょうか

    SQLで取得可能でしょうか 今2つのテーブルがあるとします。 ---------------------- テーブル1  KEY    項目   1   テスト1   2   テスト2   3   テスト3 ----------------------- ---------------------- テーブル2   CD  名称    1   か   1   き   2   さ   2   し   2   す   3   た ----------------------- テーブル1のKEYはキーで重複しません。 テーブル2のCDは重複しますが、内容はテーブル1のKEYとリンクします。 今、テーブル1のKEY1件につき、データを1件取得したいのですが、 テーブル2の名称も取得したいです。 データは1件しか取得しない為、名称は、特定文字(例として/)で 区切って取得したいです。 期待したい結果 ----------------------  KEY  名称   1  か/き   2  さ/し/す   3  た ---------------------- このような取得は可能でしょうか? 尚、SQLの発行は1回のみで行いたいです。 よろしくお願いします。

  • SQL Server2008のクエリの書式に関する

    SQL Server2008のクエリの書式に関する質問です。 異なるテーブルを結合をする際の列名は、以下のようにピリオドを使って表現します。 <テーブル名>.<列名> これは、皆さん当然のように使われていると思います。 ここから質問ですが・・・。 異なるデータベースのテーブルを結合させる場合は、どうすればよいですか? <データベース名>.<テーブル名>.<列名>とするのでしょうか?(やってみたが、うまくいかなかったような気が・・・。) そもそも、異なるデータベース間では、テーブル結合できないのでしょうか? ご指導よろしくお願いいたします。

  • SQL Server2000 と 2005 

    AccessとSQL Server(MSDE2000)で業務システムを作っています。 データを入力するフォーム(入力票)上でLotNoを入力すると該当する単価をビュー原料マスタから取得するようにしています。 LotNo(フォームのテキストボックス)の更新処理後のイベントに・・・ Me![単価] = Dlookup("単価","原料マスタ","LotNo = " & [Forms]![入力票]) としています。MSDE2000の場合は正しい値が取得できますが、SQL Server2005の場合は以下のエラーが出ます。 実行時エラー245  nvarcharの値 '.' をデータ型intに変換できませんでした。 ビュー「原料マスタ」の基になるテーブルの各項目は、 LotNo:nvarchar(13桁) 単価:float です。 どのようにするればよいでしょうか? 型を変換するような処理が必要なのでしょうか? 以上、よろしくお願いします。