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;
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;