为SQL增加自定义函数约束

墨蓝 2022-08-04 05:27 252阅读 0赞

首先新建函数

--检查输入到表goodsSaleArea的值是否符合要求
create function f_chk_goodsSaleArea(@areaID nchar(10),@goodsCode nchar(10))
returns bit
as
begin
declare @saleAreaid nchar(10),@effect int;
select @saleAreaid=saleAreaID from goodsSaleArea where saleAreaID=@areaID and goodsCode=@goodsCode;
set @effect=1;

while (@effect>0)
begin
select @saleAreaid=saleAreaID from goodsSaleArea where saleAreaID=
(select parentAreaID from Area where areaID=@saleAreaid and goodsCode=@goodsCode)
set @effect=@@rowcount;
if(@effect>0)
return 1
end
return 0
end

然后增加约束到表。

--先生成f_chk_goodsSaleArea函数再执行

alter table goodsSaleArea
add constraint ck_goodsSaleArea_saleAreaID check (dbo.f_chk_goodsSaleArea(saleAreaID,goodsCode)=0)
go

发表评论

表情:
评论列表 (有 0 条评论,252人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SQL定义函数

    存储函数和存储过程统称为存储例程(store routine),存储函数的限制比较多, 例如不能用临时表,只能用表变量,而存储过程的限制较少,存储过程的实现功能要复杂些,

    相关 SQL定义函数

    自定义函数分为二种,一种是标量值函数,另一种是表格值函数 1 标量值函数 :返回一个标量值 语法: Create function 函数名(参数) Ret