2016-05-23 9 views
0

選択と選択を組み合わせることは可能ですか?例: 複数のユーザーのための挿入

挿入

INSERT INTO user_history VALUES (SEQ_USER_HISTORY_ID.nextval, '65567','AccountStatus', 'Y', 'N', sysdate, 1, 'Update'); 

選択

SELECT USER_ID FROM USER WHERE COUNTRY = 'MEX' 

select文は、多くのユーザーIDを返しますし、私は彼らのそれぞれのINSERT文を必要とします。

ありがとうございました

答えて

1

はい。インラインで使用するには、selectが完了していて、1行だけを返す必要があります。例えば

INSERT INTO user_history 
VALUES (select SEQ_USER_HISTORY_ID.nextval from dual, 
     '65567', 
     'AccountStatus', 
     'Y', 
     'N', 
     sysdate, 
     1, 
     'Update'); 

SELECT USER_ID FROM USER WHERE COUNTRY = 'MEX'のような別のSQLを使用して、複数の行(SQLの各行に1つ)を挿入するには、あなたはそれをこのように使用する必要があります。

INSERT INTO user_history 
    (select SEQ_USER_HISTORY_ID.nextval, 
      USER_ID , 
      'accountStatus', 
      'Y', 
      'N', 
      sysdate, 
      1, 
      'update' 
    FROM USER 
    WHERE COUNTRY = 'MEX'); 

リファレンス(例のセクションを参照してください)。https://docs.oracle.com/cd/B14117_01/appdev.101/b10807/13_elems025.htm#sthref1704

+0

申し訳ありませんが正しく説明されていない場合は、挿入文にwhere句を追加しようとしています。 – user2110655

+0

ありがとうございました。魅力的な仕事をした – user2110655

関連する問題