Хорошие ресурсы для начинающих, чтобы начать использовать хранимую процедуру Oracle - PullRequest
1 голос
/ 11 июня 2009

Я ищу хорошие ресурсы по Oracle Stored Процедура, предназначенные для начинающих. Я попробовал Dev Shed Article и один из Oracle Documentation site , но они не соответствовали моим потребностям. Один из сайтов Oracle Documentation имел накладные расходы на примере Java. Я попробовал Dev Shed один, но я продолжаю получать недопустимую ошибку SQL, когда я пробую их пример. Вот основной, который я пытался запустить:

CREATE OR REPLACE PROCEDURE skeleton
IS
BEGIN
 NULL;
END;

EXECUTE skeleton;

Я делаю ошибку новичка или синтаксис в статье устарел? Я работаю с Oracle 10g & PL / SQL Developer.

Спасибо!

РЕШЕНИЕ:

В соответствии с предложением @ curtisk я попробовал несколько более сложный пример:

CREATE OR REPLACE PROCEDURE p_getdate
IS
BEGIN
 dbms_output.put_line(TO_CHAR
    (SYSDATE, 'MM-DD-YYYY HH24:MI:SS'));
END;

Когда я попытался выполнить это так:

EXECUTE p_getdate

Я получил ORA-00900: ошибка оператора SQL. Я искал, почему это так, и наткнулся на эту ветку . Я решил попробовать позвонить, поэтому попробовал следующее:

CALL p_getdate;

но это не сработало. Я прочитал ветку еще немного и скептически попробовал:

CALL p_getdate();

и вуаля, я правильно вызвал процедуру. У меня нет ответа относительно того, почему это работает, но тот факт, что это работает, позволяет мне двигаться вперед с моим проектом. Если есть кто-нибудь, кто может объяснить мне, почему это так, я бы хотел узнать больше об этом.

Еще раз спасибо @curtisk за помощь!

Ответы [ 2 ]

1 голос
/ 11 июня 2009

Я бы не использовал этот пример в качестве отправной точки ... Я бы заставил его сделать что-то вот один, чтобы попробовать

CREATE OR REPLACE PROCEDURE p_getdate
IS
BEGIN
 dbms_output.put_line(TO_CHAR
    (SYSDATE, 'MM-DD-YYYY HH24:MI:SS'));
END;

Запустите его, он должен успешно скомпилироваться, затем по приглашению ....

SQL> SET SERVEROUT ON;
SQL> execute p_getdate;
 06-11-2009 12:29:54

Вы должны увидеть текущую дату / время в выходных данных. Пример, который вы использовали, был слишком простым ИМХО. Следующим шагом является создание процедуры, которая работает с объявлениями и параметрами.

Что касается ресурсов для начинающих, есть тонна не может реально рекомендовать кого-то конкретно, и если ничего нет всегда "Спроси Тома" .. должно быть несколько Q / A там, что может помочь

0 голосов
/ 03 октября 2017

Лучшей вашей ставкой была бы книга, такая как Oracle PLSQL Programming Стива Фейренштейна и Билла Прибила. Это множество примеров и около 1300 страниц.

Если вам просто нужна ссылка, вы можете попробовать этот URL к справочнику по языку oracle 12c plsql, хотя я большой поклонник вариантов использования, как было найдено в предыдущем предложении.

http://docs.oracle.com/database/122/LNPLS/toc.htm

...