请各位大侠么,看下如下问题,
--××××××××××××××××××××××××××××××××××××××××
CREATE OR REPLACE PROCEDURE TESTSP(I IN INTEGER)
IS
I VARCHAR2(20);M VARCHAR2(20);
K INTEGER;
BEGIN
--set K:=I
SELECT COMP_NAME ,COMP_ADD INTO I,M FROM TEST WHERE COMP_ID=K;
END;
--××××××××××××××××××××××××××××××××××××××××
执行时,报如下错误:

解决方案 »

  1.   

    也是,k 沒有賦值,為null,所以查不到數据.
      

  2.   

    CREATE OR REPLACE PROCEDURE TESTSP(I IN INTEGER)
    --入口参数不能与局部变量一样上面的变量可改名为p_i
    IS
    I VARCHAR2(20)--不能使用全角字符M VARCHAR2(20)--不能使用全角字符
    K INTEGER;
    BEGIN
    --set K:=I
    SELECT COMP_NAME ,COMP_ADD INTO I,M FROM TEST WHERE COMP_ID=K;
    END;
      

  3.   

    CREATE OR REPLACE PROCEDURE TESTSP(I_comp_id IN INTEGER)
     
    IS
    I VARCHAR2(20);--不能使用全角字符M VARCHAR2(20);--不能使用全角字符
    K INTEGER;
    BEGIN
    SELECT COMP_NAME ,COMP_ADD INTO I,M FROM TEST WHERE COMP_ID=I_comp_id;
    END;
    COMP_ID 为 列唯一值