sql中用CTE實現增加row number 列

2021-08-27 06:58:51 字數 473 閱讀 2400

增加一列:

alter table table1 add id int default 0

用cte更新建立的這個id列:

with cte as

(select *,rn=row_number() over(order by getdate())

from table1

)update cte set id= rn

補充cte的定義

指定臨時命名的結果集,這些結果集稱為公用表表示式 (cte)。該表示式源自簡單查詢,並且在單條 select、insert、update 或 delete 語句的執行範圍內定義。該子句也可用在 create view 語句中,作為該語句的 select 定義語句的一部分。公用表表示式可以包括對自身的引用。這種表示式稱為遞迴公用表表示式。

SQL資料庫CTE的用法

在很多程式語言中都有 for迴圈這樣的東西。在資料庫裡面 替代他是 游標 但是游標使用起來是相當耗費資源的,今天看見乙個cte嘗試了下他的用法 create table employewhere id int identity 1,1 name varchar 10 value varchar 10...

SQL資料庫CTE的用法

在很多程式語言中都有 for迴圈這樣的東西。在資料庫裡面 替代他是 游標 但是游標使用起來是相當耗費資源的,今天看見乙個cte嘗試了下他的用法 create table employewhere id int identity 1,1 name varchar 10 value varchar 10...

SQL 臨時結果集CTE查詢總結

cte是乙個命名的臨時結果集,僅在單個sql語句 例如select,insert或delete 的執行範圍內存在。cte不作為物件儲存,僅在查詢執行期間持續,提供了更好的可讀性和效能。可以使用with子句來建立cte,with子句用於定義乙個子查詢關係,以供select查詢引用,它可以扁平化巢狀查詢...