我在我的查询中使用变量时将ROW_NUMBER
置于正确的位置时出现问题。Row_number函数和变量
我想通过检查从第一个记录到最后一个记录的每条记录来创建一个查找函数。有些功能我没有正确处理ROW_NUMBER()
功能。有小费吗?
/* DECLARATION */
...
/* LOOKUP */
SET @MAXID = (SELECT COUNT(ContractNr) FROM SenoOud.dbo.Financieel)
SET @COUNTER = 1
WHILE @COUNTER < @MAXID
BEGIN
SELECT @ROWNUM = ROW_NUMBER() OVER (ORDER BY ContractNr) AS 'CNUM',
@IGAS = [Factuur CO/LPG],
@IBRAND = [Factuur Brand],
@IOVERIG = [Factuur Overig],
FROM SenOoud.dbo.Financieel
WHERE @ROWNUM = @COUNTER
/* INSERTION */
...
你可能想看看SQL curso RS。我认为他们会比这更好的解决方案:) – Luaan 2014-10-10 08:41:25
您可能想看看SQL的基于Set的方法,以尽可能避免循环和游标,例如在这里:http://blogs.msdn.com/b /simonince/archive/2009/03/30/procedural-versus-set-based-sql.aspx :) – NickyvV 2014-10-10 09:09:21
为什么你需要这个?对于使用基于集合的方法的更广泛的问题,可能有更好的解决方案 – Serpiton 2014-10-10 10:17:21