PL/SQL is een taal voor het schrijven van autonome programma's. Het is niet ontworpen voor gebruikersinteractiviteit. Invoerwaarden worden doorgegeven als parameters. Uw programma zou er dus zo uit moeten zien
CREATE OR REPLACE PROCEDURE hello
( p1 in number
, p2 in varchar2 )
AS
l_salutation varchar2(20) := 'Hello World';
BEGIN
DBMS_OUTPUT.PUT_LINE(l_salutation);
DBMS_OUTPUT.PUT_LINE('p1 = ' || p1);
DBMS_OUTPUT.PUT_LINE('p2 = ' || p2);
END;
/
Merk op dat er geen VERKLARING nodig is met een benoemde procedure. De sectie tussen AS en BEGIN is voor het declareren van variabelen, zoals ik heb gedaan met l_salutation
.
U kunt waarden voor die parameters opgeven wanneer u het programma aanroept. In SQL*Plus zou het als volgt werken:
SET SERVEROUTPUT ON
accept p1 prompt "please enter 1 or 0: "
accept p2 prompt "please enter Y or N: "
exec HELLO (&p1, '&p2')