sql更新表中的N條記錄,讓這N條記錄的同段從

2021-03-05 12:30:03 字數 5136 閱讀 1425

1樓:匿名使用者

還是先建測試表:

create table test_niu (id int,

val varchar(10)

);go

測試資料:

insert into test_niu (val)select 'a'

union all select 'b'

union all select 'c'

union all select 'd'

union all select 'e'

union all select 'f'

union all select 'g'

union all select 'h'

union all select 'i'

union all select 'j'

union all select 'k'

union all select 'l';

go建立個臨時的 view

create view temp_view asselect

row_number() over(order by (select 1)) as no,

id,val

from

test_niu;

go更新那個 id 從 600 開始自增。

update

temp_view

setid = no + 600;

檢視結果:

1> select * from test_niu;

2> go

id val

----------- ----------601 a

602 b

603 c

604 d

605 e

606 f

607 g

608 h

609 i

610 j

611 k

612 l

(12 行受影響)

2樓:匿名使用者

在已建好的表更新麼,如果是就定義變數

declare @var int

set @var=600

while @var<600+n

begin

update 表 set 列=@var whereset @var=@var+1

end或把n條記錄取出到臨時表更新再插入回

3樓:匿名使用者

update tabname set columnname = columnname +1 where 條件(n條記錄);

欄位型別為數值型。

4樓:匿名使用者

該欄位應該是int型吧,在資料庫表中設定成自增,插入語句不更新該欄位,預設自動增長,假如不是從0開始,起始記錄需要更改其值

sql如何將表中某一欄位值更新為該行記錄的行號?

5樓:匿名使用者

更新表中一列的資料自增

sql 更新一個表中的n條記錄,讓這n條記錄的同一欄位從一個值(比如600)開始自增1.

不能在資料庫中設定自增

6樓:匿名使用者

這個操作的本意是什麼?

你的行號是以資料表現有資料為準,還是其他的?

我猜測你應該是主鍵id設定的為自增欄位,期間對資料又進行過刪除操作,後面想對資料進行分頁查詢時,想通過記錄的行號來查詢資料,如果是這樣的話,這樣的更新操作作用不大,如果是其他用途的話,sql2005之後的版本對於分頁查詢有一個 row_number(order by 欄位名xx) 的系統函式,它在查詢資料時會對查詢的資料結果進行計數(也就是行號),你可以寫一個儲存過程,便利資料表的所有資料,利用這個函式的值,把他複製給你想要儲存行號的欄位就可以了。

7樓:幹好每一天

用 update 語句更新下就可以了,,只是在更新的時候,確定好對應的條件。

8樓:郭妮寶寶

declare @i int

set @i = 0

update tablename set columnname=@i,@i=@i+1

順序+1就可以了

更新一個表的欄位值等於另一個表的欄位值的sql語句

9樓:海天盛筵

sql語句如下:

更新aseta.ty2=b.ty1fromt2a,t1bwherea.n2=b.n1

將t2表的ty2欄位的值更新為表的ty1欄位的值。假設表的n2=b表的n1。

10樓:該使用者未註冊

sql語句如下:

update a

set a.ty2=b.ty1

from t2 a,t1 b

where a.n2=b.n1

更新t2表的

ty2欄位的值為t1表的ty1欄位的值,條件是a表的n2=b表的n1

擴充套件資料:

常用sql語句——

1、說明:建立資料庫

create database database-name

2、說明:刪除資料庫

drop database dbname

3、說明:備份sql server

--- 建立 備份資料的 device

use master

exec sp_addumpdevice 'disk', 'testback', 'c:\mssql7backup\mynwind_1.dat'

--- 開始 備份

backup database pubs to testback

4、說明:建立新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

根據已有的表建立新表:

a:create table tab_new like tab_old (使用舊錶建立新表)

b:create table tab_new as select col1,col2… from tab_old definition only

5、說明:刪除新表

drop table tabname

6、說明:增加一個列

alter table tabname add column col type

注:列增加後將不能刪除。db2中列加上後資料型別也不能改變,唯一能改變的是增加varchar型別的長度。

11樓:匿名使用者

直接update的話,這個應該足夠了,嘗試一下告訴我結果update mumbe t

set pass = (select ppass1 from mumbe1 where id = t.id)

where not exists (select 1 from mumbe1 where id = t.id and ppass1 = t.pass)

直接檢測 哪個id 下 pass欄位資料 不一樣 id顯示出來,我手動更新

select distinct id

from mumbe t, mumbe1 t1where t.id = t1.id

and t.pass <> t1.ppass1

12樓:強濰僑弘

這個問題好像以前沒見過的,不過可以說個思路,你先進想查詢的,就是查這兩個表通過他們的n1和n2的值是否相等的,要是有相等的,你就先將n2中的資料刪掉,將n1中資料插入進去,去試一下!不知道行不行的!

13樓:匿名使用者

sql server merge 例子

可以滿足 多種情況的處理

比如 匹配的時候,更新

源表有,目標表沒有,插入

目標表有,源表沒有,目標表該資料刪除

14樓:匿名使用者

update a set a.ty2=b.ty1 from t2 a,t1 b where a.

n2=b.n1 --保證沒有問題,不信可以先測試一下 這個問題好像以前沒見過的,不過可以說個

15樓:匿名使用者

update bobo set mumbe.pass=mumbe1.ppass1 where mumbe.pass!=mumbe1.ppass1

sql 如何複製一條記錄的指定欄位的內容到另一條記錄的指定欄位?

16樓:死後是好人

如果要全部複製的話直接把where去掉不就行了,反正覆蓋的只有名稱和長度兩個欄位

如果是一段一段的賦值,用id>=2 and id<=…不就好了,至於要用=的麼

17樓:du瓶邪

1,如果表不存在

select * into tb2 from tb12,如果表存在

insert into tb2 select * from tb1--1)插入到一個新表中

select * into tab1 from table2--2)更新到一個已專經屬有資料的表中

insert tab1 (對應欄位)

select * from tab2

18樓:匿名使用者

update table set 名稱=table2.n,長度版

權=table2.l

from (select t.名稱 n,t.長度 l from table t where t.id = 1) table2

where id=2 where id=2

19樓:匿名使用者

update table as t1,table as t2 set t1.名稱

baidu=t2.名稱,t1.長度

zhidao=t2.長度,t1.f3=t2.f3,....where t1.id=2 and t2.id=1

sql在表中插如一條記錄的簡單問題

下面的語句完全可以,複製到查詢分析器可以用,但您要將c5,c6,c7改為您的實際列名,還要將tablename改成您的實際表名。insert into tablename name,passwd,prompt,answer,c5,c6,c7,createtime values name 0,prom...

SQL中,輸入什麼型別的資料是加N?謝謝

unicode編碼的意思,英文裡是ascii編碼,一個字母佔一個位元組,而中文就佔兩個位元組。加上 n 代表存入資料庫時以 unicode 格式儲存。n string 表示string是個unicode字串。unicode 字串的格式與普通字串相似,但它前面有一個 n 識別符號 n 代表 sql 9...

sql如何查詢表中某個欄位值最大的記錄

步驟1.插入前先copy得到表的最大值 2.新的值 要插入的 步驟1的值 1 3.插入 varvnum integer adoquery1.close adoquery1.sql.text select isnull max jrlnum 0 from manager.charge log ecar...