Хранимая процедура вывода строки и курсора - PullRequest
1 голос
/ 24 ноября 2010

Эй, ребята, у меня есть хранимая процедура, которая выводит только столбец таблицы. Вместо этого я хотел бы, чтобы «есть» [количество столбцов] «студенты». в качестве выхода. Пример ниже.

CREATE OR REPLACE PROCEDURE active_students (arc in out sys_refcursor)
       as
       begin
            open arc for select count(*) from student;
       end;

Это генерирует

Count(*)
30

хотел бы прочитать

There are 30 students.

1 Ответ

2 голосов
/ 24 ноября 2010

Использование:

CREATE OR REPLACE PROCEDURE JSU4290M.active_students (arc in out sys_refcursor)
AS
BEGIN

  OPEN arc FOR 
  SELECT 'There are '|| COUNT(*) ||' students.' AS col
    FROM STUDENT;

END;

Двойной канал (||) - это средство Oracle (и теперь стандарт ANSI) для объединения строк. Oracle неявно преобразует целочисленное значение в строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...