我有兩個表,客戶和應用程序,都有主鍵(customerID和applicationID),應用程序有一個外鍵的customerID。SQL檢查是否存在值並返回主鍵
當用戶啓動應用程序時,它將customerId與其他一些信息一起添加到應用程序表中。
我想要做的是編寫一個sql查詢/存儲過程,首先檢查該customerId是否已經在應用程序表中,如果它不再添加它,但更新信息併爲我返回applicationId使用。
然後,如果它不在表格中,請添加客戶ID和信息,並返回applicationID。
我的代碼添加到數據庫是。
INSERT INTO Application (CustomerID, Q5, Q11a) VALUES (@customerid,@q5, @q11a);" + "Select Scope_Identity()";
int applicationID = Convert.ToInt32(command.ExecuteScalar());
我該如何去把它變成我想要的呢?
使用MERGE語句如果你使用的是2008(r2)或2012。如果不是,只需從更新開始,如果爲0,則插入@@ row_count。 – Serge