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