SqlServer 刨根问底 之(一): Schemas

来源:互联网 发布:vb.net 连接sql数据库 编辑:程序博客网 时间:2024/05/16 06:12

 

     序:本人才疏学浅,但本文以及今后该系列文章版权都归属于本人以及本人Master Mr. Peter Ho,特此说明!

 

 

     SqlServer 刨根问底系列,先暂定该名字来作为标题,如有雷同,请联系我,我会马上修改,计划写这个系列最终的目的是让我们中国编程人员都能更清楚的认识到DB,清楚的知道DB里面的小细节等等,推荐大家多看英文书籍。ok,进入正题!

 

     今天要讲的是 SqlServer 中的 Schemas在实际运用中非常powerful 的地方,

     DB 中必须要有Schemas的存在,它除了能有很好的security reason之外,更重要的是把table的含义separate出来,让你更好的管理,不解? 听下去,在你的stored procedures list中,有自己define的 Schemas 时,一眼就能找到你要force 的 stored procedure,function,scalar function, 把你从茫茫的dbo. schemas 中拉回来。force 你要做的事情,而不是去到处找你要的了。

 

给个例子:

 

大家看到没,有了schemas core,就把  core的function 与 dbo. 的function 完全区分开,一眼就能找到你要的。

 

还有一个非常重要的地方就是,“with SchemaBinding”我不知道大家的程度,但我想说,这个真的重要,SqlServer2008 它已非常智能,在修改Table 列,colume 时,马上弹出warning 对话框,告诉你哪些function SchemaBinding了,是否继续修改,点 继续,与其相关的function,stored procedures 就会去把 with SchemaBinding 这句拿掉,目的达到了,你改的那个表,会影响到哪些function,当然记得修改好相应的 function,后再把with SchemaBinding 加在后面,这样guarantee function都是没问题的。

 

   有兴趣的可以试下看看,真的不错,今天先说那么多,文笔有待提高,不明白的,有不同意见或建议的,都可以留言,

 

 

   “标榜求败” :高手的都看过来,能找出比这还好的方法的或者觉得写的不好的,有奖,

        下面一段SQL  ,功能是 动态生成一窜Sequence 号码,

如下用图片,别copy,要的就是你去typing,理解里面的含义才是我的目的 :

 

 

 

 

这里是结果:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击