sql 複製含自動編號的表

2021-04-29 01:59:37 字數 483 閱讀 7417

通常情況下,我們可以直接通過如下語句來複製表

insert into mytb select * from mydb.dbo.mytb

如果資料表中帶有自動編號的列,則出現「訊息 8101,級別 16,狀態 1,第 1 行

僅當使用了列列表並且 identity_insert 為 on 時,才能為表'mytb'中的標識列指定顯式值。」

當表的列數不多,可以通過如下方式來實現資料匯入

insert into mytb select 列名列表(除去自動編號的列) from mydb.dbo.mytb

如果列很多,那實現起來就很麻煩,下面是自己經過乙個晚上的研究寫的乙個儲存過程,可以方便的實現資料匯入,只需要三個引數。

set @sql=@sql+' ;set identity_insert '+@tbname+' off;'

exec(@sql)

drop table #coltable

return

SQL 自動編號處理

關閉自動編號 setidentity insert t off 這個時候就允許插入id值了 insert into t id,name values 0,test 開啟自動編號 setidentity insert t on 這個時候就允許插入id值了 insert into t id,name v...

自動編號表中的ID

region 建立dataset物件 建立乙個dataset物件 m str sqlstr sql語句 m str table 表名 返回dataset物件 public dataset getds string m str sqlstr,string m str table endregion r...

聚合以及連線以及自動編號的SQL

要求完成功能 問題是 在做公司內部oa系統的時候,做乙個公司銷售排行榜 員工檔案表為ygda y id y bm 所屬部門 y name 真實姓名 hy name 會員登入名 排行榜表為phb p id p yj 業績銷售額 p time 錄入日期 hy name 會員登入名 phb表是銷售人員籤乙...