将这个算法编成存储过程
Go_To_Top(BASIC_DB);
setp1: 若Is_Eof(BASIC_DB) 为真,则结束;否则转 setp2
setp2:若Is_Eof(RULE_PRE_DB)为真,则转setp 5 ;否则转setp 3
setp3: 若Get_Value(RULE_ACT_DB,rule_name) = Get_Value(RULE_PRE_DB,rule _name) 则如下;否则 转setp4
若Get_Value(RULE_ACT_DB,num2) =1
则:Add_Record(BASIC_DB,used,.t.)
Add_Record(EP_DB,used,.t.)
Set_Value(RULE_ACT_DB,active,.t.)
否则: Set_Value(RULE_ACT_DB,num2,num2-1)
skip
转setp3
setp4: Set_Value(RULE_PRE_DB,Active,.t.) 转setp2.
setp5: Set_Value(BASIC_DB,Used,.t.) 转setp1.
其中 Get_Value(DB,field): 返回数据库DB中当前记录field字段的值
Is_Eof(DB): 数据库DB的当前记录指针是否指向文件末尾。
Go_To_Top(DB)将数据库DB当前记录指针移到第一条记录。
Add_Record(DB,Record):把非空记录Record加到数据库DB中
Set_Value(DB,field,value):置数据库DB中当前记录field字段的值
为value.