创建了一个 查询的存储过程
CREATE OR REPLACE PROCEDURE PRO_TEST (
P_NUM NUMBER,
P_DATE VARCHAR2
)
IS
V_1 VARCHAR2(20);
V_2 VARCHAR2(20);
V_3 VARCHAR2(20);
BEGIN
SELECT DISTINCT PERSONFULLNAME,PERSONNUM,SHIFTSTARTDATE INTO V_1,V_2,V_3
FROM VP_SCHEDULE
WHERE SHIFTTYPE='Work Shift'
AND PERSONNUM=P_NUM
AND TO_CHAR(SHIFTSTARTDATE,'YYYY/MM/DD')=P_DATE;
end;
为什么执行后不能显示结果?不能像sql server里一样 直接显示结果么,还是有其他的办法呢?
------解决思路----------------------
.
跟SQLSERVER不一样,需要打印的
CREATE OR REPLACE PROCEDURE PRO_TEST(P_NUM NUMBER, P_DATE VARCHAR2) IS
V_1 VARCHAR2(20);
V_2 VARCHAR2(20);
V_3 VARCHAR2(20);
BEGIN
SELECT DISTINCT PERSONFULLNAME, PERSONNUM, SHIFTSTARTDATE
INTO V_1, V_2, V_3
FROM VP_SCHEDULE
WHERE SHIFTTYPE = 'Work Shift'
AND PERSONNUM = P_NUM
AND TO_CHAR(SHIFTSTARTDATE, 'YYYY/MM/DD') = P_DATE;
DBMS_OUTPUT.put_line(V_1
------解决思路----------------------
V_2
------解决思路----------------------
V_3);
end;
调用(command 窗口)
set serveroutput on;
PRO_TEST('??','???');
------解决思路----------------------
存储过程中select不会直接显示结果,需要打印
sql:
DBMS_OUTPUT.PUT_LINE(V_1
------解决思路----------------------
V_2
------解决思路----------------------
V_3);
如果返回的是多行记录,还要用到游标,循环打印。。。。
