SQL отправляет текст в качестве параметра в процедуру

В Oracle это должно быть очень просто, но я только день назад начал работать с процедурами, и у меня с этим проблемы. Я создал процедуру, которая должна получать тип объекта в качестве параметра, например, "здравоохранение".

create or replace 
PROCEDURE Adminfacility(
  v_facility_type IN VARCHAR2)
IS
BEGIN
  ...(SELECT goes here)...
END Adminfacility

Это правильно? Как заставить процедуру получить параметр, а затем вернуть таблицу из двух столбцов? (например, идентификатор объекта и соответствующие администраторы). Одна проблема, с которой я сталкиваюсь, заключается в том, что мне требуется INTO после оператора SELECT. Я делал что-то подобное раньше с функциями, в которых вы вводили числовой идентификатор и получали числовой вывод, но я никогда раньше не делал ничего подобного.

Я сделал то же самое, что и представление (где у него есть тип объекта по умолчанию), и это работает, но я не могу заставить его работать как процедуру.


person Jaqualembo    schedule 02.12.2012    source источник
comment
С какой базой данных вы работаете?   -  person Mike Parkhill    schedule 02.12.2012


Ответы (1)


CREATE PROC Adminfacility
@text NVARCHAR(MAX)
AS
BEGIN
   SELECT id,adminname
   FROM TABLE 
   WHERE TEXT =@text    
END

Это принимает текст в качестве параметра, используя его в условии where, а затем возвращает таблицу.

если вы хотите изменить уже существующий proc, то вместо CREATE напишите ALTER

person Ruzbeh Irani    schedule 02.12.2012
comment
Спасибо, я сделал что-то подобное, однако процедура требует, чтобы я написал предложение INTO после оператора SELECT, я не уверен, что здесь делать - person Jaqualembo; 02.12.2012