Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

PL / SQL:làm cách nào để nhắc người dùng nhập vào một thủ tục?

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')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle IN so với Tồn tại sự khác biệt?

  2. Quá trình nâng cấp từng bước lên R12.2 Nâng cấp phần -3

  3. cách thay thế ký tự có dấu trong cột varchar2 trong oracle

  4. Nhà phát triển SQL 4

  5. Làm thế nào để Tìm Thời gian Thực thi Truy vấn trong Oracle SQL Developer?