我正在學習oracle sql和pl/sql,我想知道在Oracle中是否有等價的子句'merge = output'或簡單有效的方法來得到相同的結果。在oracle中等效合併輸出
鏈接到sql server'merge,output'stetment良好的explonation。 link
--sql server merge
MERGE #c_new AS trg
USING #c_base AS src
ON trg.Num_id = src.Num_id
WHEN MATCHED)
THEN
UPDATE SET
trg.Name = src.Name
,trg.Name_type = src.Name_type
WHEN NOT MATCHED BY trg
THEN
INSERT (Num_id, Name, Name_type)
VALUES (Num_id, src.Name, src.Name_type)
WHEN NOT MATCHED BY src THEN DELETE
------------output clause from here---------------
OUTPUT
$ACTION,
inserted.Name NewName,
deleted.Name PrevName,
inserted.Name_type NewName_type,
deleted.Name_type PrevName_type
返回(如 '查詢')
$action NewName PrevName NewName_type PrevName_type
INSERT Abc1 Tp1
DELETE Abc2 Tp2
UPDATE Abc4 Abc3 Tp4 Tp3
是Oracle或簡單而有效的方式,它相當於條款 '合併=輸出' 具有相同的結果
** [編輯] **你的問題,並添加基於該數據的一些樣本數據和預期輸出。 [**格式化文本**](http://stackoverflow.com/help/formatting)請,[無屏幕截圖](http://meta.stackoverflow.com/questions/285551/why-may-i-not -upload圖像-的代碼上那麼當-要價-A-問題/ 285557#285557)。不要發表評論的代碼或額外的信息 –
我的問題是關於oracle語法我知道或多或少如何實現效果從sql server合併輸出,但我不發現信息,如果在oracle存在clausle outup合併或簡單的方法去做。我可以添加示例數據,但我不認爲是修復數據的好方法。在添加的鏈接是從合併輸出接觸的SQL服務器返回數據的暴露形式 –
我不知道什麼是「合併輸出」應該是(可能許多其他人使用Oracle也不)。你需要告訴我們你想要解決什麼問題。這可能是您在SQL Server中採用的方法在Oracle中不可用,或者可以在Oracle中以完全不同的方式解決該問題。最好的辦法是描述實際問題並用一個例子來說明。你不能指望熟練使用Oracle的人也**知道關於SQL Server的所有信息。 –