私のスキーマはこれです:複数のテーブルに影響する値を挿入するにはどうすればよいですか?
Tables:
Titles -> ID | TitleID | TitleName | ArtistNameFull | Length
Artists-> ID | ArtistNameRoot
ArtistRelation-> ID | TitleID | ArtistID | Relationship
ArtistNameFullを含むアーティスト名を次のとおりです。 "偉業、となど、プレゼント、などの特徴"
ArtistNameRootは「feat、including、featuring、etc.」のないアーティストです
ArtistRelationにおけるそれらの関係は、インデックス1〜15とそれに対応する「接尾辞」を基本とする別のテーブルにあります。 inと同様に、index 3は "フィーチャー"で、index 7は "with"です。
テーブルに挿入する必要があるデータの行が約1000行あります。これは(タイトル、アーティスト、長さ)の値です。
これまでのメソッド: これまでの方法では、挿入する必要があるすべてのデータを一時テーブル自体に配置してから、タイトルテーブルと一時テーブルの間で一意の値を選択するSQL関数を呼び出して挿入していましたこれはTitlesテーブルだけに挿入すると機能しますが、アーティストに挿入する必要があります。これは、ルートアーティスト以外のものを取り除く必要があるため、少し難しいです。だから私は一時的なテーブルからデータを取得するために、正規表現を使用して、ルートアーティストだけを取得するための不思議に動作するルートアーティストを取得するために、これらのすべてを一緒に接続し、前の挿入からのアーティストが既に私の頭の周りを包むのは難しいかもしれない。
とにかく、私はこれを本当に効率の悪い方法で行っている場合、あるいはそれが通常行われる方法であり、私はちょうど行く必要があるため、知恵の言葉が必要だと思います。
あなたが何を求めているのか分かりません。コードを修正する方法を知りたい場合は、試したことを投稿する必要があります。 – Barmar
これは非常に扱いにくいもののようです。 "Christmas Presents"という名前のグループがあれば、 "presents"という言葉は関係語のように見えます。このようなものを解析するにはインテリジェンスが必要です。 – Barmar
私は本当にコードが間違っていることに心配していません。私は本当にこれについてどうやって行くべきかを知る必要があるからです。質問は本質的には、アーティストとArtistRelationが挿入からタイトルへの更新(このメソッドが適用されている場合)が必要な場合、私が自分のテーブルに持っているデータを挿入する方法です。 @Barmar – DJSweetness