Хаос - Вы являетесь неправильными в своей озабоченности, что комната будет когда-либо удалять..
Я сделал быстрый поиск и нашел страницы справочника к комнате из 7-го руководства Unix выпуска по http://plan9.bell-labs.com/7thEdMan/vol1/man1.bun, где это говорит:
ДИАГНОСТИКА
Generally self-explanatory. It is forbidden to remove the file ..
merely to avoid the antisocial consequences of inadvertently doing
something like rm -r .
Учитывая, что 7-й Unix выпуска является родителем всего современного unixes и был выпущен в 1979, я скажу, что это - решительно безопасная вещь сделать. Это ничего не делает, но это не наносит ущерба вообще.
Теперь, существуют другие программы как показанный, в который это будет счастливо "убывать".. и вызовите все виды хаоса, если Вы делаете дурацкие вещи как "показанный-Rh пользователь.*" но комнату не показывают.
Да! SQL 2008 представил точно что, команда Merge.
СЛИЯНИЕ Technet (Transact-SQL)
Вот пример от вышеупомянутой статьи:
USE AdventureWorks;
GO
-- Create a temporary table variable to hold the output actions.
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
MERGE INTO Sales.SalesReason AS Target
USING (VALUES ('Recommendation','Other'), ('Review', 'Marketing'), ('Internet', 'Promotion'))
AS Source (NewName, NewReasonType)
ON Target.Name = Source.NewName
WHEN MATCHED THEN
UPDATE SET ReasonType = Source.NewReasonType
WHEN NOT MATCHED BY TARGET THEN
INSERT (Name, ReasonType) VALUES (NewName, NewReasonType)
OUTPUT $action INTO @SummaryOfChanges;
-- Query the results of the table variable.
SELECT Change, COUNT(*) AS CountPerChange
FROM @SummaryOfChanges
GROUP BY Change;
Если Вы не интересуетесь вставкой записей, которые происходят, формируют Ваш внешний источник и не присутствуют в Ваших внутренних данных, затем удалите:
WHEN NOT MATCHED BY TARGET THEN
INSERT (Name, ReasonType) VALUES (NewName, NewReasonType)