【发布时间】:2016-09-30 09:58:28
【问题描述】:
我在这里尝试使用存储过程添加批量数据
但问题是我不想更新数据我想在条件匹配时将数据插入临时表
Alter PROCEDURE [dbo].[Update_Customers]
@typeMembership aspnet_Membership_type READONLY
AS
BEGIN
SET NOCOUNT ON;
MERGE INTO aspnet_Membership c1
USING @typeMembership c2
ON c1.EmployeeCode=c2.EmployeeCode
WHEN MATCHED THEN
UPDATE SET
c1.[EmployeeCode] = c2.[EmployeeCode] ,
c1.[EmployeeTypeId] = c2.[EmployeeTypeId] ,
c1.[FirstName] = c2.[FirstName] ,
c1.[LastName] = c2.[LastName] ,
c1.[Gender] = c2.[Gender] ,
c1.[Email] = c2.[Email] ,
c1.[MobilePIN] = c2.[MobilePIN] ,
c1.[Current_Address] = c2.[Current_Address] ,
c1.[Permanent_Address] = c2.[Permanent_Address] ,
c1.[IsApproved] = c2.[IsApproved]
WHEN NOT MATCHED THEN
INSERT VALUES (c2.EmployeeCode, c2.EmployeeTypeId,c2.FirstName,c2.LastName,c2.Gender,c2.Email,c2.MobilePIN,c2.Current_Address, c2.Permanent_Address,c2.IsApproved);
END
【问题讨论】:
-
他们有什么问题,只需将
WHEN MATCHED THEN UPDATE子句更改为WHEN NOT MATCHED THEN UPDATE -
我想添加不同的表而不是那个
-
那么
MERGE不是解决方案。不用它写你自己的程序。
标签: sql sql-server stored-procedures