我想從表中選擇循環的最終值,就像這樣: MyTable的是這樣的:( '我',1)( '你',2)Oracle SQL:如何從表中選擇FOR LOOP的初始值/最終值?
for i in 1..(SELECT MyID from MyTable where MYName = 'Me')
但我出現SELECT時出現錯誤消息。
我想從表中選擇循環的最終值,就像這樣: MyTable的是這樣的:( '我',1)( '你',2)Oracle SQL:如何從表中選擇FOR LOOP的初始值/最終值?
for i in 1..(SELECT MyID from MyTable where MYName = 'Me')
但我出現SELECT時出現錯誤消息。
您需要定義上限。使用這樣的事情:
declare
my_upper number;
begin
select count(*) into my_upper
from MyTable where MYNAME = 'Me';
for i in 1..my_upper loop
... do something here ...
end loop;
end;
見:http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/controlstatements.htm#LNPLS004
如果你知道你總是會返回一個排,然後用select into
:
select myid into my_upper
from mytable
where namename = 'M';
但沒有與MYNAME幾行=」我'。我試過: '聲明 my_upper號碼; begin 從MyTable中選擇MyID into my_upper ,其中MYNAME ='Me'; for i in 1..my_upper loop ...在這裏做些什麼... end loop; 結束;' 它的工作。 – Matin