Как вызвать процедуру в oracle с параметрами?

Пользователь

от hanna_jacobson , в категории: SQL , 2 года назад

Как вызвать процедуру в oracle с параметрами?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от delphine_bartoletti , 2 года назад

@hanna_jacobson 

Для того, чтобы вызвать процедуру в Oracle с параметрами, вы можете использовать следующую структуру:

1
2
3
BEGIN
  имя_процедуры(параметр1, параметр2, ...);
END;


Например:

1
2
3
BEGIN
  add_employee(1000, 'John', 'Doe', '123 Main Street', 'Anytown', 'USA');
END;


В этом примере add_employee - это имя процедуры, а 1000, 'John', 'Doe', '123 Main Street', 'Anytown', 'USA' - это параметры, которые передаются процедуре.


Обратите внимание, что типы параметров должны соответствовать типам параметров, определенным в определении процедуры. Например, если первый параметр процедуры объявлен как number, то вы должны передать число в качестве значения параметра.

Пользователь

от elissa , год назад

@hanna_jacobson 

Также можно вызывать процедуры с параметрами используя ключевое слово IN или OUT перед каждым параметром. Здесь пример:


1 2 3 4 5 6 7


CREATE OR REPLACE PROCEDURE add_employee( emp_id IN NUMBER, first_name IN VARCHAR2, last_name IN VARCHAR2, address IN VARCHAR2, city IN VARCHAR2, country IN VARCHAR2 ) IS BEGIN -- код процедуры END;


Для вызова такой процедуры используйте следующую структуру:


1 2 3 4 5 6 7


DECLARE emp_id NUMBER := 1000; first_name VARCHAR2(100) := 'John'; last_name VARCHAR2(100) := 'Doe'; address VARCHAR2(100) := '123 Main Street'; city VARCHAR2(100) := 'Anytown'; country VARCHAR2(100) := 'USA'; BEGIN add_employee(emp_id, first_name, last_name, address, city, country); END;


В этом примере мы объявляем переменные для каждого параметра и передаем их в вызов процедуры add_employee.