に存在している場合は、ランダムな値を更新しています列のすべての行に、値が存在する場合に行を更新する必要があります。私は2種類の方法で私のコマンドを試してみましたが、結果はまだ同じ、私のコマンドは、この更新行、行の値は、OracleやSQLに自分自身を新しいOracle
--type 1
UPDATE my_schema.table
SET col1 =DBMS_RANDOM.STRING('A', DBMS_RANDOM.VALUE(8, 10)),
Col2= DBMS_RANDOM.STRING('A', DBMS_RANDOM.VALUE(1, 28)),
Col3= DBMS_RANDOM.STRING('A', DBMS_RANDOM.VALUE(1, 28)),
Col4= DBMS_RANDOM.STRING('A', DBMS_RANDOM.VALUE(1, 2));
--type2
UPDATE my_schema.table
SET col1= DBMS_RANDOM.STRING('A', DBMS_RANDOM.VALUE(8, 10)) where col1 IS NOT NULL, col2= DBMS_RANDOM.STRING('A', DBMS_RANDOM.VALUE(10, 15)) where col2 IS NOT NULL, col3= DBMS_RANDOM.STRING('A', DBMS_RANDOM.VALUE(8, 10)) where col4 IS NOT NULL;
のように見えるどちらのコマンドは、すべての更新します行の列を更新するには、テーブル内の15列を更新する必要があります もっと効率的な方法やPL/SQLプロシージャを書く方法を誰かに教えてください。
ありがとうnはあなたがアップデートすべての列の値をチェックするためにCASE
を使用することができます
お返事ありがとうございます。でも、まだすべての行が更新されています。 –