自動為指定表的指定字段生成編號的儲存過程

2022-01-12 07:00:27 字數 1335 閱讀 9939

--根據日期自動生成編號

--格式:20070517000001

create

procedure

sp_buildnumber(

@length

int,                

--日期後面的編號長度

@fieldname

nvarchar(20

),    

--欄位名稱

@tablename

nvarchar(20

),    

--表名稱

@return

nvarchar(20

) output    

--輸出變數)as

begin

declare

@sql

nvarchar

(2000

)set@sql='

declare @nowdate nvarchar(10)

declare @mincoding nvarchar(20)

declare @coding nvarchar(20)

set @nowdate=convert(nvarchar(10),getdate(),120)

set @nowdate=replace(@nowdate,''-

'',''''

)set @mincoding=@nowdate+replicate(''0

'',@length-1)+''0

''select @coding=isnull(max('+

@fieldname+'

),@mincoding) from '+

@tablename+'

where '+

@fieldname+'

like @nowdate+''%

''set @return=convert(nvarchar,convert(numeric(18,0),@coding)+1)

'exec

sp_executesql 

@sql,n'

@length int,@return nvarchar(20) output',

@length

,@return

output

endgo

呼叫例子(訂單編號):

declare

@number

nvarchar(20

)exec

sp_buildnumber 6,

'ordernumber',

'orders',

@number

output

可根據需要更改輸出格式。

MySQL為表的指定字段新增資料

只向表的部分字段新增資料,而其他欄位的值為表定義時的預設值 insert into 表名 欄位1,欄位2,values 值1,值2,欄位1,欄位2,表示資料表中的欄位名稱,此次,只指定表中部分欄位的名稱。值1,值2,表示指定欄位的值,每個值的順序 型別必須與對應的字段相匹配。向student表中新增...

Oracle替換欄位各指定位置為指定內容

一 替換首位 說明 替換首位時,擷取首位需要替換的內容,用剪下函式substr 指定字段,1,n 然後replcae 指定字段,擷取的首段字串,需要替換成的字串 最後,更新字段內容。例子 替換指定欄位c yhj code 前兩位字元。update t p aa etf zqmap set c yhj...

MySQL 為指定表字段追加指定字串

業務場景 針對ucas file info 表中的pdf path欄位都追加字元 sql update ucas file info set pdf path concat pdf path,where ucas file info.sid in select sid from select uca...