仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 977|回复: 8
打印 上一主题 下一主题

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

[复制链接]
萌萌妈妈 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:34:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一个语句分成两个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的字段类型更加简洁统一。
小魔女 该用户已被删除
5#
发表于 2015-2-12 11:05:10 | 只看该作者
如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。
金色的骷髅 该用户已被删除
6#
发表于 2015-3-3 02:57:09 | 只看该作者
至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。
蒙在股里 该用户已被删除
7#
发表于 2015-3-11 09:10:22 | 只看该作者
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
若相依 该用户已被删除
8#
发表于 2015-3-18 02:20:16 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
爱飞 该用户已被删除
9#
发表于 2015-3-25 09:53:15 | 只看该作者
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表