• 締切済み

SQLServer2000でテーブル名変更

現在業務でMircrosoft SQL Server2000を使用しているのですが、テーブル名を変更するというオーダがありました。しかし、24時間365日業務制約をかけられないシステムなのでなるべく短い時間でテーブルのリネームを行いたいです。MSSQLの画面上で名前の変更はできるのですが、この作業を全てのテーブルに適用すると膨大な時間がかかってしまうため、1つのスクリプトにして実行しようと考えています。 オラクルの場合RENAME TO文でテーブル名の変更が可能であると思うのですが、MSSQLの場合どのようなSQL文を適用すれば良いのでしょうか。

みんなの回答

  • katyua
  • ベストアンサー率66% (2/3)
回答No.1

ストアドプロシージャ「sp_rename」ではどうでしょうか ヘルプに以下のように書いてあります ↓ sp_rename 現在のデータベースで、テーブル、列、ユーザー定義データ型など、ユーザーが作成したオブジェクトの名前を変更します。

参考URL:
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/tsqlref/ts_sp_ra-rz_3ns5.asp

関連するQ&A

  • テーブル名の変更について

    次のようなSQL文で、テーブル名を変更しようと思っているのですが、誰かがアクセス中(selectなど)だった場合は、どうなるでしょうか? alter table XXX rename to YYY; また、このような場合の、テストはどうすればよいでしょうか? よろしくお願いlします。

  • 特定のカラムを含むテーブル名を抽出したい

    50個程度のテーブルがあり、 そのテーブルの中から 「abc」というカラムが存在するテーブル名を取得するsql文を教えてください。 Oracleは10gです。 よろしくお願いいたします。

  • テーブルの権限について

    オラクル8.1.6を使っています。ていうか商品名は関係ないと思うのですが、 SQL文でテーブルを作るときに2つの列を併せて1つのプライマリキーにする文はどうやって書けばよろしいのでしょうか? 文を詳しくよろしくお願いします。

  • テーブル名

    SQL文でテーブル名の一覧表を問い合わせることは可能なのでしょうか?

  • Oracle8でテーブルの列名を変更したい

    Oracle8のテーブルを利用しているのですが、あるテーブルの列名が 誤っていることに気付きました。データはそのままで列名だけ変更したい のですが、できるのでしょうか?できるのでしたら、方法を教えていただけ るとありがたいです。OracleやSQL関係の本を読んでみたのですが 探し出せませんでしたので、こちらでお世話になることにしました。 よろしくお願いします。(私自身はOracleは利用するのみで、ほとんど 素人に近いです。SQL*Plusは使ったことがあります。)

  • SQLiteのテーブル名を変更したい

    SQLiteで既存のテーブル名を変更し、テーブルのバックアップにしたいと考えています (後に元テーブル名で新しくCreate Tabelをします) 少し(情報の少ない)マニュアルを見ましたが 方法(それを実行させるSQL)が見つけられません アドバイスをよろしくお願いいたします。 あるいは、DB内でテーブルをコピーする方法があるならば それで代用できるかもと考えています。

  • SQL Server 2008のテーブル名の変更

    SQL Server 2008上に作成している大量のテーブル名を変更したいのですがSQL Server Management Studioで1個ずつ変更するには結構大変です。 具体的に良い方法はないでしょうか。SQL Serverについては初心者です。 よろしくご教示願います。

  • SQLServerでのデータディクショナリ

    OracleでテーブルのNot Null制約や、カラムのバイト数、PKかどうかなどが取れるように、 SQL Server でも取れますでしょうか? Googleにて「SQLServer、 データディクショナリ」のキーワードで検索をしてみましたが、 出てくるのはOracleばかりでした。 (SQL Serverで使う言葉がデータディクショナリという言葉ではないのかも?) SQL Server での取得方法、もしくはGoogle検索用のワードを知りたいです。

  • フィールドサイズの変更方法について

    お世話になります。SQL初心者です。 VB5+ACCESS97でデータが入っているテーブルのある特定のテキスト型の列サイズを5から6に変更する必要が出てきました。 テーブル名を変えたくないのですが、 1.列サイズを変更した新テーブルをCREATE 2.元テーブルを全項目SELECTして新テーブルにINSERT 3.元テーブルをDROP 4.新テーブルと同じ属性で元テーブル名で新々テーブルをCREATE 5.新テーブルから全項目SELECTして新々テーブルにINSERT 6.新テーブルをDROP この方法しかないでしょうか。コピーのコピーで時間がかかりそうで悩んでます。 手元の書籍ではACCESS97では、テーブル名のリネームとか、ORACLEのALTER TABLEのような属性変更ができないような気がするのですが、もしコマンドをご存知でしたら併せて教えてくださると、とても助かります。 よろしくお願いします。

  • テーブル名を指定してCsv出力

    こんにちは。 Oracle 9iで開発をしているのですが、 PL/SQLで引数にテーブル名(物理名)を渡せば そのテーブルのデータを全件ファイルに出力するような 処理は書けるでしょうか? お力を貸してください。 よろしくおねがいします。