存储过程
CREATE OR REPLACE PROCEDURE P_WYB_FIND_NAME(ID IN NUMBER,
NAME OUT VARCHAR2) AS
BEGIN
SELECT T.NAME INTO NAME FROM INFO_STU_1 T WHERE T.ID = ID;
END;调用
DECLARE
LOCAL_ID INFO_STU_1.ID%type := 2;
LOCAL_NAME INFO_STU_1.NAME%TYPE;
BEGIN
P_WYB_FIND_NAME(LOCAL_ID, LOCAL_NAME);
DBMS_OUTPUT.PUT_LINE(LOCAL_ID || '/' || LOCAL_NAME);
END;
CREATE OR REPLACE PROCEDURE P_WYB_FIND_NAME(ID IN NUMBER,
NAME OUT VARCHAR2) AS
BEGIN
SELECT T.NAME INTO NAME FROM INFO_STU_1 T WHERE T.ID = ID;
END;调用
DECLARE
LOCAL_ID INFO_STU_1.ID%type := 2;
LOCAL_NAME INFO_STU_1.NAME%TYPE;
BEGIN
P_WYB_FIND_NAME(LOCAL_ID, LOCAL_NAME);
DBMS_OUTPUT.PUT_LINE(LOCAL_ID || '/' || LOCAL_NAME);
END;
1.参数命名(应该去了解一些编码规范)
输入参数应该这样 i_id
输出参数应该这样 o_name
否则,你的id和name就有可能被解析成表字段。
2.最好不要这样赤裸裸的用id,name这些有可能触及保留字的单词做变量名。
SELECT T.NAME INTO NAME FROM INFO_STU_1 T WHERE T.ID = ID;
如果没有返回记录或返回多条记录,是会报错出异常的,要有异常处理。