if exists(select 1 from sysobjects where id=object_id('sp_watercode'))
drop procedure sp_watercode
go
create procedure sp_watercode @flag varchar(7),
@key varchar(15),
@table varchar(20)
as
declare @watercode varchar(20),@var varchar(2000)
select @var='select '+@watercode+'= max(' + @key +') from' + @table
+'where substring('+@key+',len('''+@flag+
'''),8)=convert(varchar(8),getdate(),112)'
exec (@var)
if isnull(@watercode,'')=''
select @watercode=@flag+convert(varchar(8),getdate(),112)+'001'
else
select @watercode=@flag+convert(varchar(8),getdate(),112)+
right( '000'+cast(cast(right(@watercode,3) as int)+1 as varchar(3)),3)
--execute sp_watercode 'GCB','projectid','tbl_gcinfdetail'
我执行这个存储过程的时候 说=号附近有错误 我不知道格式是不是这样的
重点是这里@watercode+'= max(' + @key +') 好象是这里错了吧
谢谢
[此贴子已经被作者于2007-5-31 7:36:43编辑过]