當前位置:首頁 » 編程語言 » sql連續編號
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql連續編號

發布時間: 2022-02-01 03:29:49

sql語句在空表中如何寫入連續的編號

你看了沒有sql 跟oracle是有區別的,那你有沒有用第一個,你用的明明是sql server資料庫卻偏偏要用oracle的語法怎麼能不錯
sql server 資料庫用如下:
declare @no varchar(11),@i int ,@n varchar(10)
set @i= 1
while @i<5001
begin
set @no = 'LSK' +right( 100000000+@i,8)
insert into a (a1) values(@no)
set @i=@i+1
end

oracle 資料庫用如下:
declare no varchar2(11);
begin
for i in 1..5000 loop
no:= 'LSK'||substr(100000000+i,-8,8);
insert into a (a1) values(no);
end loop;
end;

⑵ 怎麼查詢SQL中連續編號中間的斷號

思路給你:

1、找到你的表中的連續編號的最小值。

2、找到你的表中的連續編號的最大值。

3、產生一個臨時表,它的一個欄位最小值到最大值連續產生記錄。

4、找到臨時表中的「那個欄位中」的「記錄」不在「你的表中」的「連續編號」中存在的所有記錄。


參考代碼如下:

--初參條件針對對象表LS_bas1資料庫里的TA1表
--查TA1表中ID號不連續缺少的記錄

--定義三個變數最小記錄、最大記錄、記錄搜索用
DECLARE@MINIDINT,@MAXIDINT,@GOINTINT

--從TA1表中取得ID最小的、ID最大的記錄
SELECT@MINID=MIN(ID),@MAXID=MAX(ID)FROMLS_bas1.DBO.TA1

--從最小記錄開始循環向臨時表#LSTAB里追加記錄,以產生連續的GOID記錄
SET@GOINT=@MINID
SELECT@GOINTASGOIDINTO#LSTAB
WHILE@GOINT<@MAXIDBEGIN
SET@GOINT=@GOINT+1
INSERTINTO#LSTAB(GOID)VALUES(@GOINT)
END

--將#LSTAB中GOID有,與TA1表ID中沒有的記錄找出來,就是你要的
SELECT*FROM#LSTAB
WHEREGOIDNOTIN(
SELECTIDFROMLS_bas1.DBO.TA1
)
ORDERBYGOID

--最後,好習慣,清理中間的臨時表
DROPTABLE#LSTAB

⑶ sql server2008 批量生成從指定值開始的連續的序號

將貨品ID設置為標識符,若需要設為標識符你需要將貨品ID列欄位設置為int型,我這里是用的2005版本的,大致操作方法一樣,選中【貨品ID】屬性列,在下方的列屬性窗口中將標識規范展開,將【是標識】選擇是,在標識種子中改為10(表示從10開始).



參考圖片:

⑷ 如何將SQL表中不連續編號重寫為連續編號

緩存狀態下重新生成標識列
SET IDENTITY_INSERT Table1 ON
DECLARE @i int
Set @i = 0
Update 表1 Set @i = @i + 1,列1 = 'SPH'+right('00000000'+convert(varchar(8),@i),8)
SET IDENTITY_INSERT Table1 OFF

⑸ SQL資料庫中查詢連續編號的的數據。


DECLARE@T1table(UserIDint,[name]nvarchar(50),numint);
insertinto@T1(UserID,[name],num)values(1001,'a',8)
insertinto@T1(UserID,[name],num)values(1002,'b',6)
insertinto@T1(UserID,[name],num)values(1003,'c',8)
insertinto@T1(UserID,[name],num)values(1004,'a',8)
insertinto@T1(UserID,[name],num)values(1005,'b',8)

select*from@t1
selecta.*from
(selectUserID,[name],[num]from@t1)ajoin
(selectUserID,[name],[num]from@t1)bona.UserID<b.UserIDanda.UserID+1=b.UserID
anda.num=b.num
groupbya.userid,a.[name],a.[num]


得到結果:1003c8
1004a8

⑹ SQl資料庫自動編號(連續)

假如你的原來的表tb有
id,name,address三列
其中id是自動增長列,
刪除其中若干行以後,
你可以這樣啊
創建存儲過程
create proc getTempTable
as
begin
declare @temp table
(
id int identity(1,1),
name varchar(20),
address varchar(20)
)
insert @temp
select name, address from tb

select * from @temp
end
這樣你就可以得到一個ID連續的新表了

⑺ sql中如何給編號重新排一次編號

將數據導出表(除了編號列)

truncate table 表名字
再將數據全部導入

ps:為了避免操作錯誤,做之前先把表備份一下

⑻ sql 資料庫如何在一個指定范圍內連續編號

自己編號了,先設置一個預設值在范圍內,然後+1,再判斷下,是否在范圍內

⑼ 怎麼使SQL表中不連續的編號重新變連續

用的是什麼資料庫?我知道sql server 2005及以上版本可以用ROW_NUMBER()函數 新產生一列連續編號,再更新回去

⑽ 求sql語句按連續編號分組

求sql語句按連續編號分組
sqlserver2005及以上版本 SELECT ROW_NUMBER() OVER(PARTITION BY 種類 ORDER BY 種類) AS 序號,* FROM 表