当前位置:编程学习 > C#/ASP.NET >>

这个SQL数据库里的表要怎样写约束呢?

--------------------编程问答-------------------- 表里的自动增长字段想弄个前缀,如‘S1001’,该怎么弄呢?

自动增长字段只有int类型,如果想有其他字母在前,只有由sql语句在新增时获取一个最新的编号而生成.
  --------------------编程问答--------------------
--1. 建表
create table tab(itemNo varchar(10))

--2. 建个存储过程最流水号
create proc GetItemNo @itemNo varchar(20) output
as
set nocount on
declare @maxNo varchar(20),@i int
select @i=isnull(max(right(itemNo,4)),0) from tab where itemNo like 'S%'
set @i=isnull(@i,0)+1
set @maxNo='S'+right('000'+cast(@i as varchar),4)

set @itemNo=@maxNo
return 

GO

--3.执行三次的结果
declare @itemno varchar(10)
exec GetItemNo @itemno output
insert into tab(itemno) values(@itemno)


select * from tab
/*
S0001
S0002
S0003
*/


drop table tab
drop proc GetItemNo
--------------------编程问答-------------------- 多谢
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,