|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
先说DDL的分类。有一类DDL,是不需要重建表的,比如加非聚簇索引。这类操作其实不会丢数据,也是在原表上直接操作,对于我们“以恢复数据为目的”的闪回,是可以先忽略的。另外一类,则是会影响到表数据的操作。
成绩:在实践营业处置中有些单号必要主动增加,但又不克不及用自增列取代
eg:P031106001--第一名P暗示推销单,031106暗示日期,后三位是流水号。
/*1:创立测试用的表布局*/
createtabletablename(ponochar(10),bint)
go
/*2:创立一个失掉以后日期的视图,为上面的自字义函数作筹办*/
createviewvGetdate
as
selectgetdate()astoday
go
/*3:用自界说函数来失掉单号(因自定函数内不克不及用getdate()来失掉以后日期,要用到下面的视图)*/
createfunctiongetDH()
returnschar(10)
As
begin
declare@dh1char(10),@dh2char(10)
select@dh1=max(pono)fromtableName
Set@dh1=IsNull(@dh1,P000000000)
select@dh2=Left(@dh1,1)+right(convert(varchar(8),today,112),6)+001fromvGetdate
if@dh1>=@dh2
begin
set@dh2=left(@dh1,7)+right(000+cast(cast(right(@dh1,3)asint)+1asvarchar),3)
end
return(@dh2)
end
go
/*4:在字段默许值中填进dbo.getdh()*/
altertabletablenameaddconstraintdf_tablename_1default(dbo.getdh())forpono
-/*5:测试:*/
inserttablename(b)values(1)
inserttablename(b)values(2)
Select*fromtablename
--测试了局
ponob
---------------------
P0311150011
P0311150022
总结:此办法使用到了一些小技能
1:用字段默许值来完成单号自增
2:用自界说函数来失掉字段的默许值
3:因在自界说函数中不克不及用getdate()之类非断定的函数,用视图来失掉以后日期
Cluster/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用 |
|