1樓:匿名使用者
-試試下面個吧,如果舉祥使用儲存過程可能會好些。
create table a1(
id1 int primary key,va1 varchar(20)
drop table b2
create table b2(
id2 int primary key,va2 varchar(20)
建立一張中禪亮間表來儲存被刪除的id
create table idrecord
id int
a1 插入 測試資料。
insert into a1 values (1, '地理');
insert into a1 values (2,'物理');
b2 插入 測試資料。
insert into b2 values (1, '數學');
insert into b2 values (3,'英語');
select * from a1
select * from b2
如果a1存在id與b1相同的資料,則更新,由於主鍵不能重複插入,所以先刪除資料再進行新增,-記錄正襲搏被刪除的id
delete from idrecord
insert into idrecord select id1 from a1 where id1 in (select id2 from b2)
先刪除 在 a1 id 與 b2相同的資料。
delete from a1 where id1 in (select id2 from b2)
insert into a1 select * from b2 where id2 in (select * from idrecord)
如果a1不存在id與b1相同的資料,則新增b1中的資料到a1中。
insert into a1 select * from b2 where id2 not in (select id1 from a1)
2樓:匿名使用者
假設表迅塵結構如下。
create table a1(
id int primary key,name varchar(12);
create table b1(
id int primary key,name varchar(12);
首畝閉禪先刪除表a1中與b1有相同id的列,即需要更新的先在a1中刪除掉,態仿在下一步再新增進來。
delete from a1 where id in (select id from b1)
將b1的資料插入表a1中。
insert into a1 (select * from b1)
3樓:匿名使用者
我看一下以後再給你說一下啊。、、等等。
4樓:匿名使用者
可以用乙個儲存過程來實現。
sql中如何批量更新表中的記錄
5樓:深空遊戲
試試迴圈吧declare@cntintselect@cnt=count(1)fromawhile(@cnt0)begin--更新set@cnt=@cnt-1end按照你補充的,你這個完全可以把幾種狀態的判斷先做好,然後直接對滿足條件的批量更新。皮哪悉緩爛。
既然是要執行sql語句,所以我們要先新建乙個查詢窗體才得。寫一句sql語句來演示啦。寫完練習的sql語句,再點選執行按鈕,左上方的綠色圖示就是。
然後記得重新整理一下表,在表上面單擊右鍵即可重新整理。
第一步,開啟資料表,例如,要在表中找到資料1,見下圖,轉到下面的步驟。第二步,完成上述步驟後,單擊「newquery」選項,見下圖,轉到下面的步驟。
update[表名]set[欄位名]=[值];如果是根據乙個表更新此表,套用如下方式:update[表名]set[欄位名]=(select[欄位名]from[其他表]where[兩表間的關聯條件])。
剛測試過了。updateproductssetsell=(selectsellfromtable2wheresn=aa)wheresn=aa既然你能確燃乎定sn是唯一的,那就可以用上邊這個。你更新資料,這樣應該有兩個表吧。
sql 用update語句一次更新多個欄位應該怎麼寫?
6樓:西西哩的小馬甲
方法如下:
就是在不同的欄位之間加逗號,不限制欄位的個數。
例如:a,b,c 是表t的3個欄位,通過 條件1 和 條件2 可以分別定位到一條記錄。
select a,b,c from t where 條件1
select a,b,c from t where 條件2
現在想把條件2 對應的記錄分別修改位條件1對應的記錄。
update t set a =(select a from t where 條件1),b=(select b from t where 條件1),c=(select c from t where 條件1) where 條件。
**的書寫規範。
1. 對於主要功能函式應有註釋說明。內容包括:功能、入口/出口引數,必要時還可有備註或補充說明,對於函式中的主要功能**,也應有註釋說明。註釋以英文為主。
2. 每行**的長度推薦為80列,最長不得超過120列;折行以對齊為準。
sql語句中的替換怎麼寫,sql怎麼批量替換欄位裡的字串的?
說明,將字串abcdefg中的字母a替換為c select replace abcdefg a c 查一下sql server的聯機叢書,多方便啊 sql怎麼批量替換欄位裡的字串的?方法一 varchar和nvarchar型別是支援replace,所以如果你的text不超過8000可以先轉換成前面兩...
Thinkphp怎麼批量更新資料
多個核取方塊獲取值時只能獲取最後一個的值!所以你要獲取全部所選的值的話需要你用js處理一下!儲存到隱藏域中,才能獲取全部的值!thinkphp怎麼批量更新資料 並沒有這個操作,批量插入就有,批量更新的話用迴圈去更新。thinkphp怎麼批量更新資料 thinkphp如何同時更新多條資料 第一種就是根...
sql更新儲存過程怎麼寫,SQL更新儲存過程怎麼寫
兄弟可以先到這個 學習下基礎知識 www.w3school.com.cn 因為儲存過程也是一些語句的集合 這裡我再上傳一個學習檔案給你!你用儲存過程構造一個更新的update就好了這個儲存過程 有幾個引數 第一 表名 第二 更新的欄位名 第三 更新的條件然後拼接成sql語句 直接exec sql 就...