0
- 寫完成某項PL/SQL程序執行以下操作: (a)宣佈一個稱爲c_students光標,其選擇下列字段: StudentId,L-NAME,FName和主要從學生表 主要是'會計' (b)檢索上面列出的記錄到v_sid,v_lname,v_fname,v_major (c)顯示檢索到的記錄。
使用for ..循環從Student表中檢索學生姓氏爲'Black'的所有行。顯示這些行。在PL/SQL使用for循環
SOLUTION: 我已成功完成部分A,B和C分別成功如下:
DROP TABLE IF EXISTS students;
CREATE TABLE students(
StudentId NUMBER(3),
LName VARCHAR2(30),
FNAme VARCHAR2(30),
Major VARCHAR2(30));
INSERT INTO students VALUES(130,'Black','Judy','Accounting');
INSERT INTO students VALUES(132,'Maw','Richard','Marketing');
INSERT INTO students VALUES(134,'Bessner','Bryan','Finance');
INSERT INTO students VALUES(136,'Shaw','Tim','Accounting');
INSERT INTO students VALUES(138,'Black','Conrad','Sales');
COMMIT;
DECLARE
cursor c_students IS
--for rec in (select * from students where
select * from students where major like 'Accounting';
v_sid Number(3);
v_lname VARCHAR2(30);
v_fname VARCHAR2(30);
v_major VARCHAR2(30);
BEGIN
open c_students;
Loop
Fetch c_students into v_sid, v_lname, v_fname, v_major;
IF c_students%NOTFOUND Then
Exit;
End If;
dbms_output.put_line(v_sid||' '||v_lname||' '||v_fname||' '||v_major);
End Loop;
close c_students;
End;
/
===================== ================================================== ==========
現在最後一部分,在c之後,聲明我需要完成上面用for循環所做的同樣的事情,而且我不能爲我的生活弄清楚如何在for循環中做到這一點。我知道for循環沒有被聲明,並從Begin部分開始,但我不知道該從哪裏開始。任何幫助將不勝感激。謝謝!
http://www2.cis.gsu.edu/dmcdonald/cis8040/Oracle%20Basics%20of%20PL_SQL.pdf頁32 – Annjawn
OR http://www.tutorialspoint.com/plsql/plsql_loops.htm – Annjawn
或者,如果其他方法都失敗了,請[嘗試閱讀手冊](http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/static.htm#CHDGIBHC)。 –