萌萌妈妈 发表于 2015-1-16 22:34:27

MSSQL网页编程之在SQL和ERWIN顶用自界说范例、划定规矩和默...

一个语句分成两个event(实际上不止,其他可以忽略),一个table_mapevent和一个Rows_log_event。Table_mapevent是一样的,主要看Rows_log_event。数据
1、用sql语句来完成自定范例和划定规矩完成check束缚从而包管数据的完全性
==创立自界说范例并绑定例则=========================================================
/*创立一个名为list的划定规矩,这条划定规矩标明变量只能取0和1两个值*/
CREATERULElist
AS@colIN(0,1)
go

/*创立一个自界说的数据范例,它是int范例的子范例*/
execsp_addtypeIntSwitch,"int","NOTNULL"
/*把划定规矩list绑定到自界说范例IntSwitch上往*/
execsp_bindrulelist,IntSwitch
go

/*创立一个名叫mytest的表,个中有一个字段on_or_off为自界说的IntSwitch范例*/
CREATETABLEmytest(
on_or_offIntSwitch
)
go

在SQL的查询剖析器中运转下面这行代码,则在数据库中发生了一个名叫IntSwitch的自界说的数据范例,它是Int范例的一个子集,该范例的数据只能取0或1这两个值。同时数据库中还天生了一个名叫mytest的表,表中有一个IntSwitch的范例的字段on_or_off,它只能取0或1这两个值,并且不克不及为空。
翻开SQL2000的企业办理器,分离在表、划定规矩和用户自界说范例中检察,就能够看到以上的信息。

==作废绑定的划定规矩并删除自界说范例============================================================
要想作废以上的操纵:
/*作废划定规矩在自界说范例上的绑定*/
EXECsp_unbindruleIntSwitch
/*删除划定规矩*/
DROPRULElist
/*要先包管没有字段利用自界说范例才能够删除自界说范例,能够到企业办理器的“用户自界说范例”里检察有哪些字段在利用这个自界说范例*/
/*在表mytest的计划视图中将on_or_off字段的范例设为别的范例,如int型*/
/*删除自界说范例*/
EXECsp_droptypeIntSwitch

2、在ERwin中设置域来完成check束缚从而包管数据的完全性
1、在ERwin的Domains里新建一个名叫IntSwitch的域,其父域为Number(在general选项卡的DomainParant里设置)
2、翻开SQLSERVER选项卡,在NULLOPTION处设置该域是否是同意取空值;在valid处翻开对话框,新建一个名叫list的划定规矩(假如符合的划定规矩已存在,能够鄙人拉列表当选取就能够了)。----给新建的划定规矩取个名字,然后能够用三种体例来界说这个划定规矩:(1)用户自界说,就像下面的例子给出的那样,选中“user-define”然后本人输出,输出的格局是:@部分变量名表达式;(2)Min/Max体例,设置一个最年夜和最小值,断定一个局限;(3)Validvalue中设置几个无效值就能够了。
3、断定今后一个名为IntSwitch的绑定了划定规矩list的域就天生了。

用tool-->forwardenginerr/schemageneration...导出SQL代码看一下,和下面的代码完整不异。

3、能够设置一个默许值
事理是和下面一样的。
/*创立划定规矩*/
CREATERULElist
AS@colIN(0,1)
go
/*创立一个默许值*/
CREATEDEFAULTSwitchValue
AS0
go
/*创立自界说范例*/
execsp_addtypeIntSwitch,"int","NOTNULL"
/*把创立的默许值绑定到创立的自界说范例上*/
execsp_bindefaultSwitchValue,IntSwitch
/*将划定规矩绑定到自界说范例上*/
execsp_bindrulelist,IntSwitch
go

一样的事理,要作废默许值的绑定章:
EXECsp_unbindefaultIntSwitch
然后,再删除默许值:
DROPDEFAULTSwitchValue

在ERwin中为一个域创建默许值就更复杂了,只需在defaut处翻开一个对话框,然后新建一个默许值,起一个名字,如“SwitchValue”,然后在SQLSERVER选项卡的ServerValue--SQLSERVERDEFAULT处输出默许值就能够了。
mysql使用内部操作字符集gbk来进行操作,即执行"SELECT*FROMtestWHEREname=xxxor1=1/*LIMIT1";从而注入成功

柔情似水 发表于 2015-1-19 16:55:10

备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。

海妖 发表于 2015-1-28 08:53:57

XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)

再现理想 发表于 2015-2-5 15:13:00

是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。

小魔女 发表于 2015-2-12 11:05:10

如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。

金色的骷髅 发表于 2015-3-3 02:57:09

至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。

蒙在股里 发表于 2015-3-11 09:10:22

如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.

若相依 发表于 2015-3-18 02:20:16

而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~

爱飞 发表于 2015-3-25 09:53:15

XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
页: [1]
查看完整版本: MSSQL网页编程之在SQL和ERWIN顶用自界说范例、划定规矩和默...