(我是很新的SQL ...)我想定義一個循環,該循環計數器必須在列(例如ID):Oracle SQL:如何在列中定義循環計數器值?
因我(從IDTABLE選擇ID)環 ..
當然,上述不起作用。任何幫助?
(我是很新的SQL ...)我想定義一個循環,該循環計數器必須在列(例如ID):Oracle SQL:如何在列中定義循環計數器值?
因我(從IDTABLE選擇ID)環 ..
當然,上述不起作用。任何幫助?
對於i在(選擇IDTABLE ID)環...
當然上述不起作用。
它確實有效,除非你感到困惑,循環計數器的值和你在for循環中選擇的id
是一樣的。
SQL> set serveroutput on
SQL> BEGIN
2 FOR i IN
3 (SELECT empno FROM emp
4 )
5 LOOP
6 dbms_output.put_line(i.empno);
7 END LOOP;
8 END;
9/
7369
7499
7521
7566
7654
7698
7782
7788
7839
7844
7876
7900
7902
7934
PL/SQL procedure successfully completed.
SQL>
非常感謝。我嘗試使用這個循環計數器在INSERT命令是這樣的: '因我(從EMP選擇EMPNO)LOOP INSERT INTO newtable的(NEWID) 選擇10 *我 END LOOP;' 但得到「表達是錯誤的類型「錯誤行'SELECT 10 * i'。 – Matin
當然這是不正確的。你只需要做'FOR IN IN(從emp emp中選擇empno)LOOP INSERT INTO NewTable(NewID)VALUES(10 * i)END LOOP;' –
@ user1777530請標記爲已回答,也會幫助其他人! –
以上應該工作,你可以在你想做什麼更精確?以及你應該包括一些所需的輸出和輸入。 – SomeJavaGuy
你可以在你的用例中使用'rownum'僞列嗎? –
表IDTable只有一列(ID),如下所示:(20,32,35,46,...)。我想循環變量在IDTable中取所有的ID。當我在Oracle SQL Dveloper中嘗試上述操作時,出現「未知命令」錯誤消息。 – Matin