What Exactly Is a CTE in T-SQL? A Comprehensive Guide with 7 Examples
Learn how to use CTEs through the use of a number of examples.
2023-10-20
10,263 reads
Learn how to use CTEs through the use of a number of examples.
2023-10-20
10,263 reads
In this article we cover what a Common Table Expression CTE is and how to write a CTE for doing selects, inserts, deletes, updates and more.
2021-06-02
Introduction This article shows how common table expressions (CTE) in SQL Server are naturally suited for navigating trees, such as finding its longest path, or diameter. Recall that a tree is an undirected graph where unique paths exist between any two nodes (i.e. vertices). Any node may be selected as its top node, with its […]
2021-04-19
8,064 reads
A detailed description of a technique for the the solution of the Bin Packing Problem, that involves a recursive CTE and Window functions
2020-05-14 (first published: 2020-04-23)
5,698 reads
One feature that I have been waiting for years! The new announcement around optimize...
Following on from my last post about Getting Started With KubeVirt & SQL Server,...
By DesertDBA
I haven’t posted in a while (well, not here at least since I’ve been...
Comments posted to this topic are about the item Refactoring SQL Code, which is...
Comments posted to this topic are about the item The Read Committed Snapshot Isolation...
Comments posted to this topic are about the item Working with JSON/JSONB Data in...
I am currently working with Sql Server 2022 and AdventureWorks database. First of all, let's set the "Read Committed Snapshot" to ON:
use master; go alter database AdventureWorks set read_committed_snapshot on with no_wait; goThen, from Session 1, I execute the following code:
--Session 1 use AdventureWorks; go create table ##t1 (id int, f1 varchar(10)); go insert into ##t1 values (1, 'A');From another session, called Session 2, I open a transaction and execute the following update:
--Session 2 use AdventureWorks; go begin tran; update ##t1 set f1 = 'B' where id = 1;Now, going back to Session 1, what happens if I execute this statement?
--Session 1 select f1 from ##t1 where id = 1;See possible answers