【发布时间】:2019-03-25 14:54:44
【问题描述】:
我必须显示团队中拥有相同经理的每个人的姓名和姓氏(他的姓名和姓氏取自参数)。
我在 VARCHAR2 之前尝试了“IN”。我确实使用了 set serveroutput on。 此外,单独从光标中选择是有效的。
CREATE OR REPLACE PROCEDURE ex_2h(nazw VARCHAR2, imi VARCHAR2)
IS
CURSOR team IS SELECT * FROM people p WHERE p.id_manager=
(SELECT id_ppl FROM people WHERE name= imi AND surname=nazw);
tmp people%ROWTYPE;
BEGIN
OPEN team;
LOOP
FETCH team INTO tmp;
EXIT WHEN team%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(NVL(tmp.name, '?'));
END LOOP;
CLOSE team;
END;
我不知道为什么没有参数它可以工作,但是如果我添加这些,光标是空的并且它不显示任何东西。
【问题讨论】:
-
经过测试,除了这个
zespol/team问题它有效。也许您将其称为ex_2h('Franciszek', 'Smuda')而不是ex_2h('Smuda', 'Franciszek')?; -
问题解决了,谢谢指教,不过是sql developer出了点问题。解释如下。
标签: oracle stored-procedures plsql cursor