Sql 迭代选择列表中的每一行
例如,我有一个表,有2列和3行。 例如,我现在想用SELECT遍历表中的每一行 像这样:Sql 迭代选择列表中的每一行,sql,oracle,plsql,Sql,Oracle,Plsql,例如,我有一个表,有2列和3行。 例如,我现在想用SELECT遍历表中的每一行 像这样: IS v_text1 VARCHAR v_text2 VARCHAR BEGIN SELECT text, ohterText INTO v_text1, v_text2 FROM table; v_text1 := v_text1 || ' ' || v_text2; DBMS_OUTPUT.PUT_LINE(v_text1); 我试着在它周围放置一个FOR循环,对行进行计
IS
v_text1 VARCHAR
v_text2 VARCHAR
BEGIN
SELECT text, ohterText INTO v_text1, v_text2 FROM table;
v_text1 := v_text1 || ' ' || v_text2;
DBMS_OUTPUT.PUT_LINE(v_text1);
我试着在它周围放置一个FOR循环,对行进行计数,然后输出一个带有ROWNR的行,但这不起作用。
通常,我希望整个SELECT及其所有行具有相同的逻辑。
有什么建议吗?按照您的说法,您不必声明任何变量,因为一切都可以按需完成
begin
for cur_r in (select text ||' '|| othertext as result from your_table) loop
dbms_output.put_line(cur_r.result);
end loop;
end;
循环在这里是因为您希望从该表中获取所有行。如果您不在循环中执行此操作,Oracle将引发太多行错误,因为您无法将所有行放入标量变量。了解有关
游标的更多信息您好,欢迎使用SO!通常,如果您计划在SQL查询中使用循环,那么您就做错了。请在此提供示例数据和所需结果,以便我们可以帮助您完成查询。