SQL Server Create Table
普段あまりやらないのですが、SSMSで
SQL Serverの既存テーブルを右クリック → スクリプトの作成 → Create といった具合に
Scriptを作成。それを実行しても「インデックス」は作られない事を初めて知りました。
インデックスも同様にCREATE UNIQUE NONCLUSTERED INDEXのようなScriptを作る事で
インデックスの枠も作られる事を初めて知りました。
インデックスの枠が出来た=インデックスもデータとして中身が入っている!
みたいな感覚でとらえていいのでしょうか?
ある文字列項目の幅を拡張しないといけなくなった場合、普段は全部Magic上から
旧 → 新レイアウトへのデータコピーをしております。
テーブル作成もMagic任せにしております。
Magic上ではなく、全てSSMS上で行う場合の理想の方法は
1.旧レイアウトのテーブルのリネーム
2.新レイアウトのCreate Tableの実行
3.Create indexも実行を済ませて
4.INSERT into 新レイアウト FROM SELECT * From 旧レイアウト (ただし、項目増減無しの場合)
という具合に、インデックス作成まで行ってからデータインサートを行えば、完璧なのでしょうか?
調べればわかりそうな質問を挙げてすみませんが、正解か間違いか
お教え頂けませんでしょうか。よろしくお願いします。
-
こんにちはPuです
現地環境でレイアウト変更出来ればmagicがかってにデータconvertしてくれますが
どうしても社内で変更しお客先で後で変更を余儀なくされる場合
私の場合は ALTER TABLEにて対応する事もあります。
色々やり方があるかと思います。何が正解かはわかりませんが
nkmtさんのやり方でも問題ないかと思いますが
でわ~でわ~
-
Puさん、ありがとうございました。
サインインしてコメントを残してください。
コメント
2件のコメント