我的目标是:我有三个表dev1,PICK1,rul1,我需要我的信息在它们之间进行交互,一个例子是:根据select rul1 table的结果,从dev1 table中取出某些行并将它们插入PICK1,
然后必须更新表 dev1 的行以避免在下一次从 rul1 中选择时再次被选中
这是表的结构:
dev1 {
[delivery]
[inlist]
[scot]}
rul1{
[group],
[field],
[logical_condition]
[value]}
PICK1 {
[id_delivery]
[group_num]
[lock]}
这些是我在 rul1 中的一些价值观
[group] [field] [logical_condition] [value]
1 scot = 1
1 inlist = 0
2 scot = 2
2 inlist = 0
3 scot = 3
然后当我运行这个存储过程时:
BEGIN
DECLARE @ max int, @ count int<br />
SET @ count = 1<br />
SELECT @ max = max ([group]) from rul1 group by [group]
while (@ count <= @ max)<br />
BEGIN<br />
select field + '' + logical_condition + '' + value as [rule] from rul1 where [group]= @count<br />
SET @ count = (@ count + 1)<br />
END
END
我得到每个组(1、2、3)的这个结果:
scot = 1
inlist = 0
scot = 2
inlist = 0
scot = 3
现在我想将这些结果放入一个字符串中,作为“where”子句的一部分,以便从 dev1 中选择正确的行并将它们插入 PICK1
然后在dev1上更新,我想这一定是每次我运行过程的时候,但我不知道如何嵌套存储过程或
如果这可以通过其他方法完成。
欢迎任何帮助
非常感谢您