oracle 触发器 upsert,数据库管理员
UPSERT-MERGE或@@ rowcount是否有更好的替代方法?[關(guān)閉]
很難說出這里的要求。這個(gè)問題是模棱兩可,含糊,不完整,過于寬泛或夸張的,不能以目前的形式合理地回答。如需幫助澄清此問題以便可以重新打開, 請?jiān)L問幫助中心。 7年前關(guān)閉。 我想知道您是否遇到過類似于UPSERT概念的T-SQL命令?使用選項(xiàng)(1)或(2)執(zhí)行INSERT | UPDATE操作似乎過于復(fù)雜且容易出錯(cuò)。 目的 為了確保所需的記錄(在本例中為employee_id 1)是最新的,而不必本質(zhì)上兩次寫入相同的查詢。 語境 表名:員工 員工編號(hào):具有主鍵,并且身份屬性設(shè)置為true 選項(xiàng) 執(zhí)行SQL UPDATE ...檢查@@ rowcount = 0和@@ error = 0 ...根據(jù)需要執(zhí)行SQL INSERT 缺點(diǎn):您實(shí)際上必須兩次編寫相同的查詢,一次作為插入,一次作為更新 缺點(diǎn):更多的代碼=更多的輸入時(shí)間 缺點(diǎn):更多代碼=更多錯(cuò)誤空間 /programming/1106717/how-to-implement-a-conditional-upsert-stored-procedure “使用@@ rowcount更新” 執(zhí)行一個(gè)SQL MERGE 缺點(diǎn):您實(shí)際上必須兩次編寫相同的查詢,一次作為插入,一次作為更新 缺點(diǎn):更多的代碼=更多的輸入時(shí)間 缺點(diǎn):更多代碼=更多錯(cuò)誤空間 http://technet.microsoft.com/zh-cn/library/bb510625.aspx “ T-SQL合并” 執(zhí)行SQL UPSERT(功能不存在) 專家:您一次定義了數(shù)據(jù)與表的關(guān)系(讓SQL Server擔(dān)心它是INSERT還是UPDATE) 優(yōu)點(diǎn):更少的代碼=更快的實(shí)現(xiàn) 優(yōu)點(diǎn):更少的代碼=更低的概率 UPSERT示例 UPSERT雇員(employee_id,employee_number,job_title,first_name,middle_name,sname,modified_at)VALUES(1,'00 -124AB37','Manager','John','T','Smith',GetDate()); 如果employee_id 1不存在:MS SQL執(zhí)行INSERT語句 …
總結(jié)
以上是生活随笔為你收集整理的oracle 触发器 upsert,数据库管理员的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab的实用与仿真,MATLAB建
- 下一篇: linux文件给另一用户名和密码错误,l