34,571
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE t2(id INT IDENTITY(1,1) PRIMARY KEY,
SNO CHAR(5),
dt DATETIME)
[Quote=引用楼主 songguozhi 的回复:]
SQL code
CREATE TABLE t2(id INT IDENTITY(1,1) PRIMARY KEY,
SNO CHAR(5),
dt DATETIME)
在这个表中,SNO理解为学号字段,为固定的五位,内容是数字型的,但是不足五位的时候前面填充0,也就是如00001,00123,12345这样的。
现在我希望通过设置SNO列的缺省值约束,在数据插……
[/Quote]
在程序段处理不是更好?
缺省默认为‘00000’,否则right(“00000”+ “程序端的赋值”,5)不就可以了么,干嘛非要到DB段去做呢?
参考
--(4)生成流水号
if object_id('tb') is not null drop table tb
drop function dbo.FC_Next
create function dbo.FC_Next()
returns char(8)
as
begin
return (select 'BH'+right(1000001+isnull(right(max(BH),6),0),6) from tb)
end
create table tb
(
BH char(8) primary key default dbo.FC_Next(),
col int
)
select * from tb
begin tran
insert into tb (col) values (1)
insert into tb (col) values (2)
insert into tb(BH,col) values (dbo.FC_Next(),14)
commit tran
select * from tb
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ws_hgo/archive/2009/02/10/3872714.aspx