0

わかりました。私が軽蔑しているこの恐ろしい小さなプログラムによってデータがダンプされるデータベーステーブルがありますが、現時点では変更できません。そこには、商人のデータ、名前、住所、およびパイプで区切られた一連のカテゴリが含まれています。私が必要としているのは、これらを分割するためのクリーンな方法であるため、マーチャント/カテゴリーのペアごとに1つの行があります。そこから、新しいデータ構造に簡単に組み込むことができます。これは、短期間の繰り返し可能なプロセスである必要があります。最適な解決策はこの構造を取り除くことだと思いますが、SQLでこれをきれいに行う方法を見つけようとして頭を悩ませました。

データベースには、区切られた文字列を分割してテーブルを返す関数がすでにあります。

これはSQLServer2008にあります。

編集(明確にするために_基本的に、以下は商人である可能性があります(カテゴリが添付されています-他のフィールドは簡単にするために編集されています。ここでフィールド区切り文字にコンマを使用します)。

Jimbo's Bait Shoppe, Bait|Sports Gear|Sandwiches

私が必要なのは:

Jimbo's Bait Shoppe, Bait
Jimbo's Bait Shoppe, Sports Gear
Jimbo's Bait Shoppe, Sandwiches
4

1 に答える 1

0

文字列を分割してテーブルを返す関数を既に作成している場合は、トリガーを使用できます。

「恐ろしい」プログラムがデータを吐き出すテーブルで INSERT にトリガーを作成します。次に、トリガーはフォーマットされていないデータを取得し、2 つのクリーンなテーブルを作成します (あなたの場合、2 つのテーブルが必要だと思います。1 つはマーチャントで、もう 1 つは MerchantID を使用して 1 対多の関係を使用してリンクされている製品です)。

この場合、フォーマットされていないデータを含むテーブルを「ダーティ」テーブルとして使用できます。「恐ろしい」プログラムがファイルをインポートした直後にクレンジングできます。

トリガーについてサポートが必要な場合はコメントしてください

于 2012-12-16T23:20:20.330 に答える