编写存储过程:输入学生学号,若该学生的年龄超过18岁,则显示“已成年”。若不足18岁,则显示“未成年”

解决方案 »

  1.   

    CREATE OR REPLACE PROCEDURE SP_NL(in_xh IN XSB.XH%TYPE)
    AS 
    I_NL XSB.NL%TYPE;
    V_SQLSTMT VARCHAR2(300);
    BEGIN
        V_SQLSTMT := 'SELECT NL FROM EMP WHERE XH= :IN_XH';
        EXECUTE IMMEDIATE V_SQLSTMT
            INTO I_NL
            USING in_xh;
        IF I_NL > 18 THEN
            DBMS_OUTPUT.PUT_LINE('已成年');
        ELSE
            DBMS_OUTPUT.PUT_LINE('未成年');
    END;
    --调用
    DECLAREBEGIN
        SP_NL(&xh);
    END;