基本上我想要的伪做的是:每个样式SQL查询
FOR EACH pig_id IN (SELECT pig_id FROM farm AS f)
BEGIN
-- Do something funky with the f.pig_id, for example
SELECT bacon, ham, pork, (face + guts + brains + testicles) AS 'sausage'
FROM farm
WHERE pig_id = f.pig_id
END
循环的实际内部是比较复杂的,但这个简单的SELECT语句表明,有必要在循环中使用f.pig_id对于农场表中的每个pig_id。我看过CREATE TRIGGER解决方案,但我希望更简单一些。我知道这是一个效率低下的查询,但该项目需要非技术人员的简单性和易读性。
编辑: 它被用于一个小的数据集,所以人的可读性是一个优先于效率。
您正在尝试做一些效率低下。将行插入临时表中,根据需要进行更新,然后查询临时表可能会更好。 – 2013-04-04 14:54:52
这有时被称为“RBAR”行通过Agonizing Row。这不是你如何开始编码TSQL。 – granadaCoder 2013-04-04 14:55:22
我不确定为什么JOIN(或JOINS)不够用 - 当你看到这样的代码时,它通常源于对SQL和设置的误解! – Jamie 2013-04-04 14:59:09