Форум программистов, компьютерный форум, киберфорум
Oracle
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/333: Рейтинг темы: голосов - 333, средняя оценка - 4.62
Эксперт Pascal/Delphi
1134 / 615 / 129
Регистрация: 13.02.2009
Сообщений: 3,553
1

Вызов хранимой процедуры Oracle PL/SQL

23.03.2013, 18:28. Показов 61794. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Мне интересно вызова этой хранимой процедуры. На пример

Создал таблица

Oracle 11 SQL
1
2
3
4
5
6
CREATE TABLE Tab1
(
ID NUMBER(5),
NAM NVARCHAR2(50),
Tel VARCHAR2(30)
);
Добавляю запись

Oracle 11 SQL
1
2
3
INSERT INTO Tab1 (id,Nam,Tel) VALUES (2,'Vasili','855213');
INSERT INTO Tab1 (id,Nam,Tel) VALUES (3,'Andrei','65422');
INSERT INTO Tab1 (id,Nam,Tel) VALUES (4,'Denis','65845');
Создаю процедур на INSERT

Oracle 11 SQL
1
2
3
4
5
6
7
8
CREATE OR REPLACE PROCEDURE Tab1_INS (
  t_id tab1.id%TYPE,
  t_name tab1.nam%TYPE,
  t_tel tab1.tel%TYPE) AS
  BEGIN
  INSERT INTO Tab1 (id,Nam,Tel)
  VALUES (T_Name, T_Tel,0 );
END Tab1_INS;
Как его вызвать? что здесь является параметром ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2013, 18:28
Ответы с готовыми решениями:

Создание и вызов хранимой процедуры
Привет всем. ест таблица SALES, Мне надо создать процедур и сохранит их в базе при SELECT, INSERT...

Процедуры Oracle SQL
Не получается создать процедуру, пишет ошибку: Error(3,5): PLS-00428: an INTO clause is expected...

Oracle sql developer вывод результата процедуры в браузер
Кратко говоря, установил Oracle sql developer и server создал БД ЕС11 там пакет с кодом ...

Выполнение хранимой процедуры
Приветствую! Есть хранимая процедура: procedure P_find 2 ( 3 n1 in number, --...

4
Native x86
Эксперт Hardware
5514 / 3273 / 934
Регистрация: 13.02.2013
Сообщений: 10,424
23.03.2013, 19:38 2
Ну, во-первых вы неправильно объявили процедуру. Зачем вам параметр t_id, если вы его не используете в insert?
Процедура должна выглядеть так:
Oracle 11 SQL
1
2
3
4
5
6
7
CREATE OR REPLACE PROCEDURE Tab1_INS (
  t_id tab1.id%TYPE,
  t_name tab1.nam%TYPE,
  t_tel tab1.tel%TYPE) AS
BEGIN
  INSERT INTO Tab1 (id,Nam,Tel) VALUES (t_id, T_Name, T_Tel);
END Tab1_INS;
А вызывается так:
Oracle 11 SQL
1
2
3
BEGIN
  Tab1_INS(5, 'Коля', '223-322-223');
END;
Параметрами являются значения в скобках, они же и будут записаны в таблицу.
1
Эксперт Pascal/Delphi
1134 / 615 / 129
Регистрация: 13.02.2009
Сообщений: 3,553
23.03.2013, 20:09  [ТС] 3
Цитата Сообщение от quwy Посмотреть сообщение
Ну, во-первых вы неправильно объявили процедуру. Зачем вам параметр t_id, если вы его не используете в insert?
Процедура должна выглядеть так:
Oracle 11 SQL
1
2
3
4
5
6
7
CREATE OR REPLACE PROCEDURE Tab1_INS (
  t_id tab1.id%TYPE,
  t_name tab1.nam%TYPE,
  t_tel tab1.tel%TYPE) AS
BEGIN
  INSERT INTO Tab1 (id,Nam,Tel) VALUES (t_id, T_Name, T_Tel);
END Tab1_INS;
А вызывается так:
Oracle 11 SQL
1
2
3
BEGIN
  Tab1_INS(5, 'Коля', '223-322-223');
END;
Параметрами являются значения в скобках, они же и будут записаны в таблицу.
Огромное тебя спасибо. Все понятно уже . в книге Oracle9i. Программирование на языке PL/SQL 9 Глав страница 312 непонятно написано .... КАКОЙ КНИГУ ВЫ ПОСОВЕТУЙТЕ ПО ORACLE ?
0
Native x86
Эксперт Hardware
5514 / 3273 / 934
Регистрация: 13.02.2013
Сообщений: 10,424
23.03.2013, 20:15 4
xxbesoxx, вот это, напрмер: _http://www.gtu.edu.ge/publishinghouse/books/bejanishvili.pdf вполне доступно.
1
Эксперт Pascal/Delphi
1134 / 615 / 129
Регистрация: 13.02.2009
Сообщений: 3,553
23.03.2013, 20:35  [ТС] 5
quwy Это да там все уже понятно , Спасибо тебя огромное
0
23.03.2013, 20:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2013, 20:35
Помогаю со студенческими работами здесь

Написание хранимой процедуры
Здраствуйте! Помогите, пожалуйста, составить хранимую процедуру учета рабочего времени и вычисления...

Выходные параметры хранимой процедуры
Народ, подскажите пожайлуста а то ваще запутался. Есть хранимая процедура типа: Create Procedure...

В чём ошибка хранимой процедуры?
Здравствуйте! Пытаюсь создать хранимую процедуру, при вызове которой отрабатывалось бы два апдейта...

Набор данных из хранимой процедуры???
Можно ли ка-нибудь получить набор данных (табличного содержания) из хранимой процедуры? Если да,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru