gpt4 book ai didi

sql - 如何在 Firebird 中使用 For 循环?

转载 作者:行者123 更新时间:2023-12-01 10:09:25 25 4
gpt4 key购买 nike

有人可以向我解释 For 的语法吗?火鸟循环?

这是我到目前为止的代码:

As 
Declare variable Var1 integer;
begin
Insert into table1
-- Select query to insert some enteries in table 1 - Done successfully.
FOR SELECT table1.Column1 from table1 into :Var1
Do
Begin
Update tableabc.column1 = (select tablexyz. column1 from tablexyz where tablexyz.ID = :Var1) where tableabc.ID = :Var1
End

更新:感谢您试一试,但我看不出我写的查询与答案中包含的查询之间有任何重大区别。虽然上面的查询在我结束时成功运行,但是当我看到表中的数据时,没有发生更新。

实际上我犯了一个 v.dumb 错误,我正在执行更改存储过程查询 - 它成功运行,我假设这会进行必要的更改。后来我执行了存储过程,它工作得很好。感谢大家节省您的时间:) ..

最佳答案

对于 Firebird 中的运算符不像 对于 ,比如说,在 Pascal 中,它增加循环变量并执行代码块,直到满足完成值。

在火鸟 对于运算符获取一组记录(执行查询的结果)并遍历它们。对于每条记录,都会执行一段代码。可以选择将记录中某些字段的值放入 中登记的局部变量中。 INTO 部分。这些变量的值可以在代码块中使用。

在您的示例中,查询:

SELECT table1.Column1 from table1 into :Var1

将被执行并且对于结果集中的每条记录都将被执行运算符:
Update tableabc.column1 = 
(select tablexyz. column1 from tablexyz where tablexyz.ID = :Var1)
where tableabc.ID = :Var1

对于它,变量 :Var 将包含当前记录的 table1.Column1 的值。

关于sql - 如何在 Firebird 中使用 For 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7107248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com