私はAskTomサイトを見ていて、何が更新用の非常に強力なツールであるべきかを知っていましたが、私の声明ではサブクエリの後にエイリアスを受け入れることを拒否しました。 誰かが私のためにこれを説明し、おそらく解決策を提示してもらえますか?更新(いつから選択)ステートメントがテーブルエイリアスを認識しないのはなぜですか?
Update (SELECT T.Date_,T.Name_
FROM TableA T, TableB P
WHERE P.Date_ = T.Date_
AND P.Name_ = T.Name_) SET P.ID = T.Name_
このタイプのアップデートを実行する方法については他にも問題がありますが、それはボーナスになります。エイリアスの問題を理解しようとすると、この時点でもっと興味があります。私は
TableB.ID = TableA.Name_
でサブに試してみましたが、運
は、具体的にエラーがORA-00904無効な識別子ではありません。
いつもありがとうございます。
上記の問題は私には答えられましたが、私はそれを理解しようとすると他のものがあります。
これで、ORA-01779は、非キー保存テーブルにマップする列を変更できません。 これは私が正しい更新しようとしているテーブルを参照していると推測しますか?私がpkやfkを持っていないかもしれないビューやその他の適切なソースから更新することができました。
このタイプの更新文は、Oracleの一時表と連携できますか、または問題は予期できますか?
Caseステートメントでこのタイプのステートメントを使用して、TableAの複数の列を更新することはできますか、それとも問題はありますか?
もう一度おねがいします。
それは「エイリアスを受け入れることを拒否」するためには何を意味するのでしょうか?どのようなエラーが出ますか? 'TableA'と' TableB'の両方に 'Date_'と' Name_'という列がありますか? –
上記の特定のエラーを追加しました。両方のテーブルに正しいcolがあります。 – dee