以文本方式查看主题

-  课外天地 李树青  (http://www.njcie.com/bbs/index.asp)
--  数据库系统原理课件  (http://www.njcie.com/bbs/list.asp?boardid=19)
----  SQL Server 2005中规则和默认对象的创建方法  (http://www.njcie.com/bbs/dispbbs.asp?boardid=19&id=801)

--  作者:admin
--  发布时间:2009/9/30 20:44:24
--  SQL Server 2005中规则和默认对象的创建方法

在SQL Server2000中可以直接在数据库中创建规则和默认等对象,而在SQL Server2005中似乎已经取消了企业管理器界面下的图形创建方法

正确的创建方法应该使用脚本

如创建规则的方法为(假设约束某个值0到3之间):
CREATE RULE heightRule as
@h>=0 AND @h <=3
go

绑定该规则到stu表的height字段
Sp_bindrule \'heightRule\', \'stu.height\'

解除绑定该规则到stu表的height字段
Sp_unbindrule \'stu.height\'
go

删除规则
drop rule heightRule
go

再如创建默认的方法为(假设默认值为1.75):
CREATE DEFAULT heightDefault AS 1.75
GO

绑定默认到stu表的height字段
exec sp_bindefault \'heightDefault\', \'stu.height\';
GO

再如创建用户自定义数据类型的方法(使用上述的规则和默认来进行):
USE [students]
GO

CREATE TYPE [dbo].[heightType] FROM [float] NOT NULL
GO
EXEC sys.sp_bindefault @defname=N\'[dbo].[heightDefault]\', @objname=N\'[dbo].[heightType]\' , @future
GO
EXEC sys.sp_bindrule @rulename=N\'[dbo].[heightRule]\', @objname=N\'[dbo].[heightType]\' , @future

[此贴子已经被作者于2010-12-11 20:10:15编辑过]