VIDTAKER.COM

Q&A

SQLの更新は、Join構文の操作 - Oracleデータベースの回答


私は2つのテーブルを持っている名前の1つで、別のアドレスによって参加した
OracleのCIVICID番号(ADDRESSINFOテーブルに一意)。

私はNAMEINFOテーブル内の特定の姓のフィールドを更新する必要が
特定の町。

私は)レコードをこの構文(のOracle SQL * Plusでテストを罰金を選択することができます

のSELECT NAMEINFO.LASTNAME、NAMEINFO.FIRSTNAME、NAMEINFO.MIDDLENAME、
NAMEINFO.GENDER、NAMEINFO、ADDRESSINFOからADDRESSINFO.REGIONのWHERE
ADDRESSINFO.CIVICID = NAMEINFO.CIVICID(+)と'= NAMEINFO.LASTNAMEとスミス
'モンクトンを'= ADDRESSINFO.TOWN;

しかし、私は名前を更新しようとしたが失敗しました。ここに私の構文は:
更新のNAMEINFOはNAMEINFO.FLAG ='OK'でのWHERE ADDRESSINFO.CIVICIDセット
=(+)と(('Smith')をと= NAMEINFO.LASTNAMEをNAMEINFO.CIVICID
('モンク'= ADDRESSINFO.TOWN));


とにかく、Where句を使用して使用して、フラグフィールドを更新することが
2つのテーブルのビット?
私はAccessで、GUIを使用し、それを行うことができます構文が異なっている
2つのデータベース...

助けて!





6 Replies

1)

"デイブは"<nospam@nospam.com>は書き込み:
[色=青]
>は、とにかく使用して、フラグフィールドを更新することが
> Where句は?[/色]を2つのテーブルのビットを使用して

こんにちは、デイブ。私は構文がだと思う:

更新NAMEINFO

のSET NAMEINFO.FLAG ='OK'で

[は左外部NAMEINFOから(?)] ADDRESSINFO JOINを
オン= ADDRESSINFO.CIVICID NAMEINFO.CIVICID

のWHERE NAMEINFO.LASTNAME ='スミス'を
とADDRESSINFO.TOWN ='MONTCONを';

私はここからOracleサーバーに到達することはできませんので、私はこれをテストしていないが、それはだ
非常に標準的なSQL(いないことをOracleに何を意味する)。基本的に、
問題は、あなたがFROM句が省略された。あなたは表を参照することはできません
FROM句で指定されていませんWHERE句です。

またオラクルに関する非常に多くの気を狂わせることが、私は保証はないさ
これは動作します。これは、任意のデータベースリレーショナルで接地上で動作する
理論は、私は楽しみのチャンスOracleで年のために働くには、見
と私は、事実上すべてを発見することに失望してきたについて
Oracleははアドホックとは理論まったくに基づいて。毎日、私は廃棄物の時間
完全に普通の事はOracleだけで動作しない理由を把握しようとして
('ああ、あなたは')ことをしたい場合はいくつかの独自のプラグマをする必要があります。

私は誰Oracleが宗教であるために言って誰を激怒させることを望みます
この。私はキャリアをリレーショナル理論的に尊重することなく興味を費やしてきた
特定の実装に。

コメントのカップル。まず、結合はで行われることはありませんのWHERE
句。それは古風な建築です。彼らが使用して行う必要があります
適切なJOIN構文を、これは区別を保持し、結合
明らかに制限されます。私はどうか、なぜあなたがしようとしたことを確認されなかった
外部結合ので、私は括弧内の構文の一部を置く。私は見ることができない
外側のクエリに参加する理由が、もちろん、私は何か分からないが
あなたがしようとして。

最後に、常に列=値ではなく、のように記述する必要があります条件を制限する
他の方法'ラウンド。これは、どちらの方法で動作しますが、それは論理的ではない
値=コラムを書く。

私はこれが役立つことを願って。

ブライアン




2)

更新NameInfo
のSET NameInfo.flag ='OK'で
のWHERE NameInfo.lastname ='スミス'
存在
(セレクト*
A1ののAS AddressInfoから
ここで、= NameInfo.civic_id A1.civic_id
とA1.town ='モンク');

読んで、他のUPDATEの適切な構文について投稿。

3)

jcelko212@earthlink.netは ( - CELKO - )ニュースメッセージ書き込みに:<18c7b3c2.0408071532.174d4354 @ posting.google。コム>...[色=青] [色=緑] [色= darkred]
>>> [UPDATEがFROM句では非常に標準的なSQL(ないですよね、その[/色]の[/色]
> Oracleに)何を意味する。 <<
>
>
>注意していないことの相関名は、UPDATE句で許可されて、この
>が発生する可能性がある自己参照の問題を避けるためです。しかし、
>また、標準SQLのデータモデルに従います。するときにテーブルを与える
>式は相関名、それが機能することであるかのように実体の表
その相関名>は、データベース内に作成されている。その
>テーブルは、ステートメントの末尾に削除されます。あなたが許可した場合
UPDATE句の>相関名は、あなたが更新される
>し、それを消えてしまうとベースを残してテーブルをマテリアライズド
>テーブルはそのまま。
> [/色]

あなたは有意な相関名が許可されて何を意味するのですか?あなたが置くことができます
テーブル名(相関)更新のラベル、それ以外の場合どのようになる場合は、
共同ordingatedサブクエリを実行する? (コードでは、Oracle 7.0から9.2に実行されます)

wo_routing更新
設定bkf_flag ='N'の
どこoper_seq <(選択して最大(oper_seq)wo_routingからb
どこorder_no = a.order_no
とwork_center_no = a.work_center_no
植物= a.plant)
植物= F_plant
とorder_no = F_order_no;

たぶん私はこのコンテキストでは用語の使用を誤解。

HTH返答 - マーク次元パウエル -

4)

>>何がないの相関名は許可されて意味ですか?することができます
場所テーブル名を(相関)更新のラベル、それ以外の方法
共同ordingatedサブクエリを実行するとあなたは? (コードでは、Oracle 7.0で実行されます -
9.2)<<

は標準SQLで、それを見て!

"カエサルは:恩赦彼、theodotusの彼と野蛮は考えている
彼の部族と島の習慣は自然の法則です。" - シーザーと
クレオパトラは、ジョージバーナードは1898年を取りましょう

それは意味をなさないと思います。 ANSI / ISOのモデルは、相関
temporatyは、名前とデータを持つテーブルを作業作成
のAS演算子の左側のテーブル式です。あなたも
新しいテーブルの列の名前を変更するオプションがあります。

これは、作業テーブルではなく、ベーステーブルには、ことを意味
更新して、消えてしまう。

5)

jcelko212@earthlink.netは ( - CELKO - )ニュースメッセージ書き込みに:<18c7b3c2.0408121154.3b0949a6 @ posting.google。コム>...[色=青] [色=緑] [色= darkred]
>>>何がないの相関名は許可されて意味ですか?あなたが/カラー] [/色]ができます[
>場所テーブル名(相関)更新のラベル、それ以外の方法
>の共同ordingatedサブクエリを実行するとあなたは? (コードでは、Oracle 7.0で実行されます -
> 9.2)<<
>
>ではない標準SQLで、それを見て!
>
>"カエサルは:恩赦彼、theodotusの彼と野蛮は考えている
彼の部族と島の>習慣は自然の法則です。" - シーザーと
>クレオパトラは、ジョージバーナード1898取りましょう
>
>これは意味をなさないと思います。 ANSI / ISOのモデルは、相関
>はtemporatyその名前とデータを持つテーブルを作業作成
のAS演算子の左側に>テーブル式です。あなたも
>は、新しいテーブルの列の名前を変更するオプションがあります。
>
、になることの作業テーブルではなく、ベーステーブルを>これが意味
>と更新をクリックします。[/色]が消える

これはたぶん用語の問題、より多くの私の部分に可能性が高いです。
相関を意味するもので。私は、MS SQLおよびマニュアルの見
彼らはまた、更新時にサブクエリを調整をサポートします。私は確かにこの午前
それはなさそうだので、また、DB2の動作は、テーブルのラベルの"A"私の
例では、相関関係のあらゆるタイプの標準的な意味として表しています。

- マーク次元パウエル -

6)

も、もう一度説明していただきありがとうございます知られているだけでなく、標準がある。
と思う私達はそれも非常に簡単ですに従っていない理由:
標準では多くの単純な現実の状況では非常に不便です...

あなたのお考えはいかがですか。