C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.17359 の関連記事表示

<< 0 >>
■17359  Oracleの新規列の任意指定位置のいい方法
□投稿者/ やじゅ -(2008/04/22(Tue) 22:50:40)

    分類:[データベース全般] 

    Oracleでは、データが入っていた場合に、SQLServerと違い新規列を
    任意な位置へ簡単に追加できません。

    もちろんDBなんだから、項目の順番は関係ないのだから最後尾で
    かまわないのではという意見もあるかと思いますが、
    任意な位置へ項目を追加したいのです。

    Oracleを使っている方々は多いと思いますが、どのような方法で
    行っているのでしょうか?

    いい方法やツールなどがあればご教示ください。
親記事 /過去ログ34より / 関連記事表示
削除チェック/

■17360  Re[1]: Oracleの新規列の任意指定位置のいい方法
□投稿者/ ネタ好き -(2008/04/22(Tue) 23:21:03)
    No17359 (やじゅ さん) に返信
    > Oracleでは、データが入っていた場合に、SQLServerと違い新規列を
    > 任意な位置へ簡単に追加できません。
    >
    > もちろんDBなんだから、項目の順番は関係ないのだから最後尾で
    > かまわないのではという意見もあるかと思いますが、
    > 任意な位置へ項目を追加したいのです。
    >
    > Oracleを使っている方々は多いと思いますが、どのような方法で
    > 行っているのでしょうか?
    >
    > いい方法やツールなどがあればご教示ください。
    >

    希望するテーブルを別の名前で作成し、SQLなどを駆使してデータをインポートし、
    その後旧テーブルを削除し、新テーブルの名前を元の名前に変えたら如何でしょうか?
    Oracleはあまり使ったことありませんが、この方法ならば全てのRDBMSで可能なはずです。
記事No.17359 のレス /過去ログ34より / 関連記事表示
削除チェック/

■17361  Re[1]: Oracleの新規列の任意指定位置のいい方法
□投稿者/ れい -(2008/04/22(Tue) 23:31:43)
    No17359 (やじゅ さん) に返信
    > Oracleでは、データが入っていた場合に、SQLServerと違い新規列を
    > 任意な位置へ簡単に追加できません。

    SQLServerも任意の位置へ簡単に追加なんてできないのでは?

    > もちろんDBなんだから、項目の順番は関係ないのだから最後尾で
    > かまわないのではという意見もあるかと思いますが、
    > 任意な位置へ項目を追加したいのです。

    項目の順番が関係ないというか…
    タプルには順番の概念がもともとないのです。
    順番を決めたければ自分で定義すればいいのです。

    適当な数字をいれてそれの大小を
    順番とすればいいのではないですか?

    それなら任意の位置にいれられますよ。
記事No.17359 のレス /過去ログ34より / 関連記事表示
削除チェック/

■17362  Re[1]: Oracleの新規列の任意指定位置のいい方法
□投稿者/ れい -(2008/04/22(Tue) 23:34:33)
    No17359 (やじゅ さん) に返信
    > Oracleでは、データが入っていた場合に、SQLServerと違い新規列を
    > 任意な位置へ簡単に追加できません。

    ぎゃ!
    「列」ですね?!

    ろくに読んでませんでした。
    失礼しました。
記事No.17359 のレス /過去ログ34より / 関連記事表示
削除チェック/

■17363  Re[1]: Oracleの新規列の任意指定位置のいい方法
□投稿者/ はつね -(2008/04/23(Wed) 00:29:18)
    2008/04/23(Wed) 00:30:36 編集(投稿者)

    No17359 (やじゅ さん) に返信
    > もちろんDBなんだから、項目の順番は関係ないのだから最後尾で
    > かまわないのではという意見もあるかと思いますが、
    > 任意な位置へ項目を追加したいのです。

    (1) 別テーブルを作成してINSERT(CREATE TABLE 〜 INSERT 〜でも可)
    (2) テーブルをDropして新しい列を入れてCREATE
    (3) (1)で作成した別テーブルからINSERT
    (4) 別テーブルをDrop

    簡単なのは、Object Browserとか使って上記の(1)〜(4)を自動実行しちゃう方法かな。

    # つまりオンラインメンテはできないということですね。
    # 11gのEnterprise Manager Consoleでも無理でした。

記事No.17359 のレス /過去ログ34より / 関連記事表示
削除チェック/

■17365  Re[2]: Oracleの新規列の任意指定位置のいい方法
□投稿者/ やじゅ -(2008/04/23(Wed) 01:52:30)
>
    現状では、私はデータ量によってACCESSを使っています。

    1.ACCESSにてOracleをODBCで繋いで、指定のテーブルをデータリンクして、新規のテーブルを作成でデータ保存
    2.Oracle側の指定のテーブルを削除
    3.Oracle側の指定のテーブルに新規列を作成して、テーブルを作成
    4.ACCESSにてOracleをODBCで繋いで、指定のテーブルをデータリンク
    5.新規のテーブルにて新規列を追加
    6.新規のテーブルからデータリンク先へデータ保存


    > 簡単なのは、Object Browserとか使って上記の(1)〜(4)を自動実行しちゃう方法かな。
    >
    そうですよね。

    他の方ってどのようにしてるのでしょう、それごとにSQLを書いてるんでしょうか?
記事No.17359 のレス /過去ログ34より / 関連記事表示
削除チェック/

■17366  Re[3]: Oracleの新規列の任意指定位置のいい方法
□投稿者/ 片桐 -(2008/04/23(Wed) 02:25:05)
>
    はつねさんと同じ考え方でやってましたですね。
    旧テーブルリネーム→新規テーブル作成→データINSERT→旧テーブルDrop
記事No.17359 のレス /過去ログ34より / 関連記事表示
削除チェック/

■17369  Re[4]: Oracleの新規列の任意指定位置のいい方法
□投稿者/ ネタ好き -(2008/04/23(Wed) 02:44:09)
    私は複雑な場合にSQL文で慎重に移行する事にしております。
    例えば、外部参照、IDのオートインクリメントが絡んだ時はSQL文にしています。
記事No.17359 のレス /過去ログ34より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -