2016-09-23 6 views
2

私は現在、発電機をサービスする会社で働いています。私たちは最近、6000台の新しい機器のリストを受信しました。私のWebアプリケーションのデータベースにデータをインポートするためのスクリプトを書くことができるかどうかを確認するために、私はまだITのコーディング面で全く新しいです。データ型を外部キーに変換中のSELECT * FROM

現時点での解決策は、データを本番データベースにプルするためにINSERT INTOクエリを使用することですが、私の目標はこのスクリプトをユーザーフレンドリーにすることで、他の場所に移動しても使用できます。

私の質問は、「資産タイプ」フィールド(つまりジェネレータ、ATS)をそのタイプ(1001,1002)に関連付けられた外部キーに変換し、それを挿入するクエリを作成する方法ですデータベースに入れますか?これは可能ですか、スクリプトを実行する前に機器をfksに変換する必要がありますか?

私はデータの変更に関する同様の質問を見ましたが、私が答えを誤解していない限り、それは私が探しているものではないようです。

+1

データベース構造がどのように見えるかによって異なります。挿入しようとしているテーブル、それらのタイプを保持しているアセットタイプテーブル、与えられた生データに関する詳細をいくつかご記入ください。 – Jens

+0

ターゲットデータベースの資産タイプテーブルは非常に簡単です。ほとんどの列はNULL値で、PK(1001,1002,1003,1004)と実際の資産タイプ(Generator、ATS、Fire Pumpなど)のみが重要な2つの列です。私が挿入しているテーブルは、Customers、Sites、EquipmentなどのターゲットDB上の複数の相互接続されたテーブルからのデータで構成されています。私がインポートしなければならないデータは顧客名(顧客)、サイト番号、住所、州(サイト)、タグ番号、装備の種類、シリアル、KWサイズ、モデル番号、および製造業者です。タイプとメーカーはfksです。 – sCrabtree

答えて

0

はJohnHCを示唆しているように私は、ステージングテーブルを使用しての上に推薦する

create table Stage1 (AssetId INT identity(1000,1) primary key, AssetInfo varchar(20), OtherFields...); 

insert into Stage1 (AssetInfo, OtherFields) 
select distinct AssetInfo, OtherFields 
from ExistingAssetTable 
; 

その後、あなたは他のテーブル

+0

私はとても素早く答えを期待していませんでした。私は、コードの各ビットが何をしているかを完全に理解しているとは言えませんが、それは学ぶべき問題ではありません。スニペット自体が行うことは、データをそのテーブルにインポートして、データに適切なキーを割り当て、ターゲットテーブルにインポートすることです。 – sCrabtree

+0

これはステージングテーブル(データを格納し、使用する前に新しいフォーマットに適合させるテーブル)を作成し、それを埋め込みます。フィールド名とデータ型は変更してください(AssetIdフィールドは変更しないでください)。 ここから 'insert into [existingtable] sselect [fields] from Stage1'ステートメント – JohnHC

+0

わかりました。私はちょうどそのテーブルにそれをインポートし、それから自分自身を書式設定しますか?インポートの前にフォーマットするのではなく、これを行う際にどのような利点があるのか​​質問できますか?私はこのことについて別のスレッドで誰かがエラーなどをチェックすることと関係があると見ていたことを知っています。あれは正しいですか?たくさんの質問をして申し訳ありません。 – sCrabtree

2

を埋めるために、今生成キーを使用することができます...ステージング表を使用します将来SSISパッケージを使用してcsvファイルを作成して特定のフォルダに入れ、15分ごとにファイルをチェックするジョブ(または選択したもの)を実行すると、パッケージが実行されますそのフォルダ内の特定の名前と形式のものを探します。それで、コードを見る必要がなくても、CSVファイルを作成するだけで済むようになります。

+0

それはとてもいいと思います。それを調べる必要があります、ありがとう。 – sCrabtree

+0

ファイルがフォルダに入ったときにパッケージ/ジョブを実行するには http://www.sqlservercentral.com/articles/Integration+Services+%28SS%%29/90571/ SSISパッケージを使用してデータをcsvファイルのテーブル: http://blog.sqlauthority。com/2011/05/12/sql-server-import-csv-file-in-database-table-using-ssis / – Zi0n1

関連する問題