嵌套存储过程

时间:2012-06-30 18:05:08

标签: stored-procedures nested

我的目标是:我有三个表dev1,PICK1,rul1,我需要我的信息在它们之间进行交互, 一个例子是:根据select rul1表的结果,从dev1表中取出某些行并将它们插入到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上更新,我想这必须是每次我运行程序时,但我不知道如何嵌套存储过程或

如果可以通过其他方法完成。

欢迎每一项协助

非常感谢

0 个答案:

没有答案