小编use*_*490的帖子

PL/SQL使用LOOPING中的获取数据

表:1.)测试2.)位置

第一张桌子

 //TEST
A#
---------------
1
2
3
Run Code Online (Sandbox Code Playgroud)

第二表:

//Position
A#       POSITION
------------------
1           GM
1         DIRECTOR
2          DOCTOR
3          HELLO
3           GM
Run Code Online (Sandbox Code Playgroud)

当我在我的sqlplus中使用以下pl/sql时

DECLARE
   c_a# test.A#%TYPE;
   c_pos position.position%TYPE;
   CURSOR c_app IS
       SELECT t.a#,p.position from test t
       INNER JOIN position p ON t.a#=p.p#;
BEGIN
   OPEN c_app
   LOOP
       FETCH c_app into c_a# , c_pos;
       DBMS_OUTPUT.PUT_LINE( c_a# || ':' || c_pos );
   END LOOP;
   CLOSE c_app;
END;
/
Run Code Online (Sandbox Code Playgroud)

这是输出:

1:GM
1:Director
2:Doctor
...
...
Run Code Online (Sandbox Code Playgroud)

预期产量:

1:GM,Director
2:Doctor
3:HELLO,GM
Run Code Online (Sandbox Code Playgroud)

我的循环中有什么问题吗?

sql oracle plsql

5
推荐指数
1
解决办法
115
查看次数

标签 统计

oracle ×1

plsql ×1

sql ×1