规则与函数 (Rule & function)
规则与check不同于:
可使用于多列,但每列只允许定义一次
check只用于一列 但一列可定义多个check
可用系统控制面板建立规则 用@x 来定义规则文本
Function:
例
//定义相减的两列值函数 求Remain
CREATE FUNCTION CalcRemain (@x decimal(6,0),@y decimal(6,0))
RETURNS decimal (6,0) AS
BEGIN
return (@x-@y)
END
CREATE FUNCTION CalcRemain (@x decimal(6,0),@y decimal(6,0))
RETURNS decimal (6,0) AS
BEGIN
return (@x-@y)
END
规则和函数都必须要绑定列才能生效
Function 绑定:
Alter table Table_name
ADD RemainNum [<-This is the Column name I make]
AS
dbo.CalcRemain(Column_1,Column_2)[数据类型应保持一致]
go
-----
测试
-----
Select * from Table_name
--返回RemainNum的结果就是Column_1 - Column_2
---
也可直接调系统自定义函数
Select *,dbo.CalcRemain(Column_1,Column_2) as RemainNum from Table_name
ADD RemainNum [<-This is the Column name I make]
AS
dbo.CalcRemain(Column_1,Column_2)[数据类型应保持一致]
go
-----
测试
-----
Select * from Table_name
--返回RemainNum的结果就是Column_1 - Column_2
---
也可直接调系统自定义函数
Select *,dbo.CalcRemain(Column_1,Column_2) as RemainNum from Table_name
总觉得定义规则不如定义Check. 没有具体实战
Function应该是比较常用的 :)
posted on 2006-01-08 07:45 Royman.Chen 阅读(514) 评论(0) 编辑 收藏 举报