【发布时间】:2012-05-31 22:11:51
【问题描述】:
如何将这段代码转换为具有相同输出的函数?
declare
record_name employees%ROWTYPE;
begin
FOR record_name IN (SELECT (a.first_name || ' ' || a.last_name) complete_name,
b.DEPARTMENT_NAME complete_name2
FROM employees a , departments b
WHERE ROWNUM < 1000 and a.DEPARTMENT_ID=b.DEPARTMENT_ID)
LOOP
DBMS_OUTPUT.PUT_LINE('Employee name: ' || record_name.complete_name
||'DEPARTMENT name: '||record_name.complete_name2);
END LOOP;
END;
【问题讨论】:
-
您只想打印还是希望函数返回记录集以进行进一步操作?对于前者,使用@Sajmon 给出的答案,用 Put_Line 替换累积串联。对于后者,您需要创建一个表值函数。