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

sql單號生成

發布時間: 2023-03-22 13:24:43

❶ 將excel數據導入sql 如何自動生成ID編號

1、添加jxl.jarmysql-connector-java.1.7-bin.jar包到項目的lib目錄下­粗嘩租

2、Excel文件目錄:D://book.xls

3、資料庫名:javenforexcel

4、表名:stu

5、編寫類:連接mysql的字元串方法、蘆洞插入的方法、實體類岩兆­­

❷ sqlserver中資料庫計劃單號;該如何實現例如CG1312001

不需要用存儲過程
x列實際上就是自增列,如果你是通過企業管理器建表,只需要把x列的「標識」選為是就可以了;如果是通過sql建表,示例為:[x] [int] IDENTITY (1, 1) NOT NULL
y列就是你要的計劃單號,通過設置默認值可以完成,實際操作時,不需要對該列寫數據,它是自動生成單號的。當然,你也可以不用設置默認值,而把該列設置為公式列,也是可以自動生成的,但實際運用中限制比較多

❸ SQL資料庫列自動生成編號

兩種方法:

1、用Truncate

TRUNCATETABLEname可以刪除表內所有值並重置標識值

2、用DBCC CHECKIDENT

DBCCCHECKIDENT('table_name',RESEED,new_reseed_value)如dbcc checkident ("bc_pos",reseed,1)即可,

但如果表內有數據,則重設的值如果小於最大值可能會有問題,這時可以用 dbcc checkident("bc_pos",reseed)即可自動重設值。

注意:

只能為不允許空值且數據類型為 decimal、int、numeric、smallint、bigint 或 tinyint 的列設置標識屬性。此外,不能為主鍵列設置標識屬性。

(3)sql單號生成擴展閱讀:

關於上述標識列的引用

如果在SQL語句中引用標識列,可用關鍵字IDENTITYCOL代替,例如,若要查詢上例中ID等於1的行,

以下兩條查詢語句是等價的:

1、SELECT * FROM T_test WHERE IDENTITYCOL=1

2、SELECT * FROM T_test WHERE

❹ sql存儲過程根據編碼規則生成編號

由於題設的要求不全,這里假設record為單據表,id為編號欄位,最大長度20,其中流水號長度最大為5位
create proc GenerateID
@const varchar(10), --@const作為規則變數的常數
@para char(1), --@para作為規則變數的參數
@date varchar(10), --@date作為規則變數的日期
@idLen int --@idLen作為規則變數的流水號長度
@Id varchar(20) output --@輸出id作為生成的編碼
AS
if @idLen>5
begin
print('流水號長度超過5位')
return
end
declare @maxId varchar(20), @iMaxId int, @lsh varchar(5),@cIdLen char(1)
--獲取最大單號
select @maxid=right(convert(varchar(20),max(id)),5) from record
set @iMaxId=convert(int,@maxid)
set @iMaxId=@iMaxId+1
set @cIdLen=convert(char(1),@idLen)
--生成預定長度的流水號
exec('set @lsh=right(convert(varchar(5),@iMaxid),'+@cIdLen+')')
--生成編碼
set @id=@const+@para+@date+@lsh

❺ sql怎麼為表的訂單號列自動生成訂單號

建表的時候可以指定訂單默認唯一值,比如guid,或者用觸發器自動生成訂單號

❻ SQL怎樣自動生成編號格式如:GG+YYYYMMDD+4位流水編號

我的項目里也用到這種模式
但有點不好,靈活性太差,邏輯判斷都放在程序里,我剛寫的改進下。

CREATE PROC CreateMaxNum
(
@NumberHeader NVARCHAR(40) --號碼單頭類型
)
DECLARE @NumberHeader NVARCHAR(40), --編號頭
@NumberMiddle CHAR(8), --編號中間規則
@MaxNum CHAR(8), --編號最大流水號
@SQL NVARCHAR(4000)
SET @NumberMiddle= CONVERT(CHAR(8),GETDATE(),112) --設置中間編碼規則
SET @SQL = 'SELECT @Num=RIGHT(''0000''+LTRIM(MAX(RIGHT(號碼,4))+1),4)
FROM 號碼表
WHERE 號碼 LIKE '''+ @NumberHeader+'%'' ';
EXEC sp_executesql @Sql,N'@Num NVARCHAR(40) OUTPUT',@MaxNum OUT
IF @MaxNum IS NULL --不存在該類型的號碼,插入流水號為1的號碼,
BEGIN
SELECT @NumberHeader + @NumberMiddle + '0001'
END
ELSE
BEGIN --生成最大流水號
SELECT @NumberHeader + @NumberMiddle + @MaxNum
END

❼ 使用Microsoft SQL Server 2000 資料庫,使用存儲過程或者其它辦法使生成的單號不重復

所有生成主鍵編號(非自動編號)的存儲行為都是在保存時完成的,這樣才能有效的防止並發,如果交給軟體或者網站處理,是不能採用增長型數據的。

如你需要保存的主鍵數據在保存時+1,,這個過程是不能由軟體操作的,比如設置一個自定義函數,將程序的Insert語句中主鍵部分的@Parameter改成dbo.gettableID(),這樣你保存時就不會有被佔有的情況,同時保存時要考慮該函數的返回值,以便程序調用。

@Parameter為假定你的程序主鍵值
dbo.gettableID()為假定你的自定義函數。

❽ SQL 查詢 如何查詢最初單據編號

;with temp as
(select a as 原始單號,a as 當前單號 from table1 where a='9051'
union all
select temp.原始飢陪單號 as 原始早好單號,table1.b as 當前爛睜蠢單號 from table1
inner join temp on temp.當前單號=table1.a )

select * from temp

❾ 資料庫 SQL 如何自動生成000001,000002,… 序號

把你所生成自動編號的那一列 設置成自動增長 種子設為1
如 id int identity(1000,1) 那麼這列就不用輸入數據 會自動按1000開始 每次遞增1

❿ 如何用SQL自動生成序號和分序號

需要用row_number來給分組添加序號。

1、創建測試表,插入數據:

createtabletest(sidint,snamevarchar(20),sclassvarchar(20),scoreint);insertintotestvalues(1,'張三','一年一班',100)insertintotestvalues(2,'李四','一年一班',78)insertintotestvalues(3,'王五','一年一班',67)insertintotestvalues(4,'趙六','一年一班',87)insertintotestvalues(5,'badkano','一年二班',98)insertintotestvalues(6,'網路知道團長','一年二班',99)insertintotestvalues(7,'小小動','一年二班',99)insertintotestvalues(8,'劉備','一年三班',56)insertintotestvalues(9,'張飛','一年三班',67)insertintotestvalues(10,'關羽','一年三班',76)

2、要求按照班級總分給出班級排名(即序號),執行語句:

selectrow_number()over(orderbyscoredesc)排名,sclass班級,score總分from(selectsclass,SUM(score)scorefromtestgroupbysclass)t

3、查詢結果: