PL / SQL là một ngôn ngữ để viết các chương trình tự trị. Nó không được thiết kế cho tương tác của người dùng. Các giá trị đầu vào được chuyển dưới dạng tham số, vì vậy chương trình của bạn sẽ giống như thế này
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;
/
Lưu ý rằng không cần KHAI BÁO với một Thủ tục đã đặt tên. Phần giữa AS và BEGIN là để khai báo các biến, như tôi đã làm với l_salutation
.
Bạn có thể cung cấp giá trị cho các tham số đó khi gọi chương trình. Trong SQL * Plus, nó sẽ hoạt động như thế này:
SET SERVEROUTPUT ON
accept p1 prompt "please enter 1 or 0: "
accept p2 prompt "please enter Y or N: "
exec HELLO (&p1, '&p2')