Updating two tables in sql
In SQL Server 2008, you can perform insert, update, or delete operations in a single statement using the MERGE statement.The MERGE statement allows you to join a data source with a target table or view, and then perform multiple actions against the target based on the results of that join.
Fact Buying Habits', N'U') IS NOT NULL DROP TABLE dbo. Fact Buying Habits ( Product ID int, Customer ID int, Last Purchase Date datetime, CONSTRAINT PK_Fact Prod ID PRIMARY KEY(Product ID, Customer ID)); GO INSERT INTO dbo. Departments_delta VALUES (1, 'Human Resources', 'Margheim'), (2, 'Sales', 'Erickson'), (3 , 'Accounting', 'Varkey'),(4, 'Purchasing', 'Barber'), (6, 'Production', 'Jones'), (7, 'Customer Relations', 'Smith'); GO dd. Source(Employee ID, Employee Name) Values(104, 'Steve'); GO The following table lists the possible join types and indicates when each type is implemented by the query optimizer.The table also shows the resulting input stream for the example source and target tables when the search criteria for matching the source and target data is The example input stream results show that the input stream results depend on the combination of WHEN clauses.However, in the example scenario, the insert and delete actions require additional filtering to restrict the affected rows to those that have an employee name that starts with 'S'. Employee Name LIKE 'S%' THEN DELETE OUTPUT $action, inserted.*, deleted.*; ROLLBACK TRAN; GO ) might seem to improve query performance.In the following example, the filtering conditions are applied to the WHEN NOT MATCHED BY TARGET and the WHEN NOT MATCHED BY SOURCE. However, doing so can cause unexpected and incorrect results.