私はOracleデータベースで作業しています。 USR_INFOという表があり、次の列があります。Oracleでのデータ移行
- U_ID
- U_NAME
- U_ROLE
U_ROLEは、 "A"、 "B" または "C" の値とすることができます。
今私は= ROLE_INFOタスクがUSR_INFOに照会しU_ROLEを探すことである以下の列
- ROLE_ID
- ROLE_NAME
- ROLE_TAG
を持つと呼ばれる新しいテーブルを作成したいです= "B"を入力し、 と一致する場合は、U_IDをROLE_IDに、U_NAMEをROLE_NAMEにコピーします。私はUSR_INFOのすべての行についてこれをしたいです。 それをしながら、私はまた、ROLE_TAGに "BB"を挿入したいと思っています。
すべてのデータをROLE_INFOにコピーすると完了です。 USR_INFOでU_ROLE == "B" を検索し、他の行に影響を与えずにこれらの行をすべて削除します。
これは私がこれまで行ったことです。
私は挿入を行うとは、どのようにROLE_TAGが移入されることを確認するために、//、私はこれをしなかった、
INSERT INTO ROLE_INFO (ROLE_ID, ROLE_NAME)
SELECT U_ID, U_NAME
FROM USR_INFO
WHERE U_ROLE == "B"
を
CREATE TABLE ROLE_INFO
(
ROLE_ID INT,
ROLE_NAME VARCHAR(255),
ROLE_TAG VARCHAR(10)
);
今コピーのためのROLE_INFO
と呼ばれる新しいテーブルを作成します。 「BB」?DELETE FROM USR_INFO
WHERE U_ROLE == "B";
// を削除するための
が、これは単に、すでにROLE_INFOにコピーされていた行を削除しますか?それとももっと削除されますか?
技術的には、この問題には移行、おそらく再編が含まれていません。移行は、通常、データをDBからDBに移動することを意味し、ほとんどの場合、異なるDBタイプ(すなわち、e OracleからSQLサーバーなど)。それ以外にも、うまく構造化された質問、名声。 –