為表新增排序字段 (動態SQL 游標的使用)

2021-05-23 11:23:15 字數 422 閱讀 1900

背景:乙個表中的資料有幾萬條,現要按型別(某乙個欄位的有限值,如東、南、西、北四個區域等)增加乙個排序字段。

假設表有乙個主鍵標識列,可以初始化乙個排序列為idx,可以這樣做

update 表名 set idx=id    --這樣可以一步到位,按標識列初始化排序列。

要求:現在要求是這樣的,將資料type='東'|'南'|'西'|'北'四個區域分別排序,按1,2,3,4,...的順序排下去?

場景:現在有這樣的一張表 eric

資料是這樣的:

那麼要求姓名分類新增排序字段怎麼初始化呢?

我們可以先新增排序字段:

alter table eric add idx int

再定義乙個通用的儲存過程完成這件事:

最後呼叫儲存過程:

最後我們可以查詢看看:

SQL動態為資料表新增字段

把變數字段動態新增至資料表中,為了演示這個例子,首先建立乙個臨時表,這個臨時表只產生乙個identity欄位,begin ifobject id dbo dummytable isnot null drop table dbo dummytable create table dbo dummytab...

sql動態新增字段

先將需要新增的字段儲存到一張表 中 create table c name nvarchar 50 c type nvarchar 50 delete insert into values colum1 nvarchar 50 insert into values colum2 nvarchar 5...

SQL語句實現表中字段的組合累加排序

有表如下 idin outindex110 12229 82312 8319 93112 0325 182220 02這三個欄位均為integer型別 現要求如下 1 按index 2查詢 2 將所有id相同的和在一起,資料要加在一起 3 最後呈現的資料要按in out進行排序,按由大到小 為滿足以...