Oracle
 sql >> база данни >  >> RDS >> Oracle

PL/SQL:как да подканя въвеждането на потребителя в процедура?

PL/SQL е език за писане на автономни програми. Той не е предназначен за потребителска интерактивност. Входните стойности се предават като параметри. Така че вашата програма трябва да изглежда така

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

Обърнете внимание, че няма нужда от DECLARE с наименувана процедура. Разделът между AS и BEGIN е за деклариране на променливи, както направих с l_salutation .

Можете да предоставите стойности за тези параметри при извикване на програмата. В SQL*Plus ще работи така:

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. предаване на таблица и име на колона динамично с помощта на свързващи променливи

  2. oci_bind_by_name и to_date PHP/OCI/Oracle

  3. Какъв е еквивалентът на REF CURSOR на Oracle в MySQL, когато използвате JDBC?

  4. Как да проверя NLS_LANG на клиента?

  5. Как мога да дам псевдоним на таблица в Oracle?