专注于.Net

享受编程的乐趣
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

SQL流水帐号的生成

Posted on 2008-03-11 12:03  古道飘零客  阅读(306)  评论(0编辑  收藏  举报
create proc aaa
(
        
@StockName varchar(50),
        
@StockCount int,
        
@StockPrice money
)
as
    
declare @StockID varchar(10);
    
declare @num int;
    
select @num = MAX(cast(substring(StockID,4,7as int)) from stock
    
if @num is null
    
begin
        
set @StockID = 'ST-' + '0000001'
        
insert into stock values(@StockID,@StockName,@StockCount,@StockPrice)
    
end
    
else
    
begin
        
set @num = @num + 1
        
set @StockID = 'ST-' + right('0000000' + replace(cast(@num as char(7)),' ',''),7)
        
insert into stock values(@StockID,@StockName,@StockCount,@StockPrice)
    
end