私はcreated_dateに基づいて 'table1'からレコードを読み取ろうとしています。 table1のcreated_dateがcurrent_dateよりも小さい場合は、table2のBoolean列を更新する必要があります。Oracle DBのストアド・プロシージャを使用して、表を読み込んで別の表を更新するにはどうすればよいですか?
例えば:私はIDが現在の日付よりも少ないcreated_dateための表1からIDがどこにある表2の列Col_Booleanを更新する必要が
Table 1
ID Col1 Col2 Created_Date
1 test test 25-Apr-2016
2 test test 23-Apr-2016
Table 2
ID Col11 Col12 Col_Boolean
2 test test false
。
/どこのコードは、あなたが持つ問題を抱えているのか? –
@FrankSchmitt - 私は何も試していません:-)私はクエリとストアドプロシージャの新機能です –
テーブル2にID = 2の行が既に存在し、ブール値を更新するだけですか?そしてもしそうなら、ID = 1の行もまたどのようになり、ブール値はTrueに設定されますか?あなたのケースに対する解決策は、UPDATEまたはINSERTではなくMERGEであるかもしれませんが、それはあなたがSQLの研究にいる場所よりも進んでいます。ところで、Oracleデータベースにはブール型データ型がないことに気付いています。ブールをエミュレートするには、charまたはvarchar2データ型を使用する必要があります。チェック制約がTまたはFのいずれかにしか許可されない場合、おそらくCol_Booleanがchar(1)型であることが最適です。 – mathguy