Skip to content

Commit c9bc6cd

Browse files
Added delete example.
1 parent d409915 commit c9bc6cd

File tree

1 file changed

+35
-8
lines changed

1 file changed

+35
-8
lines changed

docs/findings/SQLCodeDevelopment.md

+35-8
Original file line numberDiff line numberDiff line change
@@ -222,30 +222,57 @@ SET NOCOUNT, XACT_ABORT ON;
222222

223223
BEGIN TRANSACTION;
224224

225-
CREATE TABLE #Update (FirstName varchar(50) NOT NULL, LastName varchar(50) NOT NULL);
225+
/***************************************************************
226+
** Create temp table to store the updates
227+
****************************************************************/
228+
CREATE TABLE #Update (
229+
FirstName varchar(50) NOT NULL
230+
,LastName varchar(50) NOT NULL
231+
);
226232

227233
INSERT INTO #Update (FirstName, LastName)
228-
VALUES
229-
('Kevin', 'Martin')
230-
, ('Jean-Luc', 'Picard');
234+
VALUES ('Kevin', 'Martin')
235+
,('Jean-Luc', 'Picard');
236+
231237

238+
/***************************************************************
239+
** Perform Updates
240+
****************************************************************/
232241
UPDATE
233242
P WITH (UPDLOCK, SERIALIZABLE)
234243
SET
235244
P.FirstName = U.FirstName
236245
FROM
237-
dbo.Person AS P
238-
INNER JOIN #Update AS U
239-
ON P.LastName = U.LastName;
246+
dbo.Person AS P
247+
INNER JOIN #Update AS U ON P.LastName = U.LastName;
240248

249+
250+
/***************************************************************
251+
** Perform Inserts
252+
****************************************************************/
241253
INSERT dbo.Person (FirstName, LastName)
242254
SELECT
243255
U.FirstName
244256
,U.LastName
245257
FROM
246258
#Update AS U
247259
WHERE
248-
NOT EXISTS (SELECT * FROM dbo.Person AS P WHERE P.LastName = U.LastName);
260+
NOT EXISTS (
261+
SELECT * FROM dbo.Person AS P WHERE P.LastName = U.LastName
262+
);
263+
264+
265+
/***************************************************************
266+
** Perform Deletes
267+
****************************************************************/
268+
DELETE
269+
P
270+
FROM
271+
dbo.Person AS P
272+
LEFT OUTER JOIN #Update AS U ON P.LastName = U.LastName
273+
WHERE
274+
U.LastName IS NULL;
275+
249276

250277
COMMIT TRANSACTION;
251278
```

0 commit comments

Comments
 (0)