| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 739 人关注过本帖
标题:[求助]我需要主键不需要自己插入信息,但是以这种格式20070917-001然后每加一 ...
只看楼主 加入收藏
paohui01
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-8-19
收藏
 问题点数:0 回复次数:4 
[求助]我需要主键不需要自己插入信息,但是以这种格式20070917-001然后每加一条信息
我需要主键不需要自己插入信息,但是以这种格式20070917-001然后每加一条信息 最后面的数字递增
请问这个怎么实现 谢谢

[此贴子已经被作者于2007-9-17 15:46:49编辑过]

搜索更多相关主题的帖子: 格式 
2007-09-17 15:46
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 

在前台做一個流水號就可以了。。。。


2007-09-18 14:39
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
写了一个流水号的触发器.

create table test(
[id] char(13),
[data] varchar(200)
)
go
if exists(select name from sysobjects
where name='auto_id' and type='tr')
drop trigger auto_id
go
create trigger auto_id on test
instead of insert
as
declare @year varchar(4)
declare @month varchar(2)
declare @day varchar(2)
declare @new_id char(13)
declare @new_no char(4)
declare @data varchar(200)

select @year=convert(varchar(4),datepart(year,getdate()))
select @month=convert(varchar(2),datepart(month,getdate()))
if len(@month)=1
select @month='0'+@month

select @day=convert(varchar(2),datepart(day,getdate()))
if len(@day)=1
select @day='0'+@day

select @data=data from inserted

select @new_no=right('0000'+convert(varchar(4),max(convert(int,right(id,4)))+1),4) from test

if @new_no='' or @new_no is null
select @new_no='0001'
select @new_id=@year+@month+@day+'-'+@new_no
begin
insert into test([id],[data]) values(@new_id,@data)
if @@rowcount=0
begin
raiserror('error',16,1)
rollback tran
end
end
go

insert into test(data) values('purana')
select * from test

我的msn: myfend@
2007-09-18 15:38
topcool
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-9-21
收藏
得分:0 
流水号的触发器,厉害!!!

2007-09-21 17:44
topcool
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-9-21
收藏
得分:0 
我受益非浅~~~~

2007-09-21 17:44
快速回复:[求助]我需要主键不需要自己插入信息,但是以这种格式20070917-001然后 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020303 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved