写一个函数,放在默认值里:
create function getNumber()
returns char(8)
as
begin
declare @a varchar(8)
select @a=[output] from v_getdate
select @a=@a+right(isnull(max(right(字段,2)),0)+101,2) from 表
return @a
end
go
写一个函数,放在默认值里:
create function getNumber()
returns char(8)
as
begin
declare @a varchar(8)
select @a=[output] from v_getdate
select @a=@a+right(isnull(max(right(字段,2)),0)+101,2) from 表 where left(字段,6)=@a
return @a
end
go
例子:
--取得新编号的函数
create function getNumber()
returns char(3)
as
begin
declare @re int,@re1 char(3)
select @re=max(cast(right(aa,3) as int)) from tb
if @re is null
return('001')
else
set @re1=right('000'+cast(@re+1 as varchar),3)
return(@re1)
end
go
///////////////////////////////////////////////////
//改寫框裡程序
//設訂單據開頭英文碼
ls_a = "A"
SELECT max(ord.ord_id ),
count(ord.ord_id )
INTO :ls_max_id,
:li_num
FROM ord
WHERE ord.ord_dt = :ad_date ;
/////////////////////////////////////////////////
If sqlca.SQLCode <> 0 Then Return ""
If IsNull(li_num) Or li_num = 0 Then
ls_no = "001"
Else
li_d = Integer(Mid(ls_max_id,10))
ls_no = String(li_d + 1,"000")
End If
1:
create function getDH
returns char(10)
As
begin
declare @dh1 char(10),@dh2 char(10)
select @dh1 = max(dh) from tableName
set @dh2 = right(convert(varchar(8),getdate(),112),6) + '01'
if @dh1 > @dh2
begin
set @dh2 = left(@dh1,6) + right('00'+ cast(cast(right(@dh1,2)as int)+1 as varchar),2)
end
return(@dh2)
end