Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Присваивание значания переменной  [new]
Aleksandrr
Member

Откуда:
Сообщений: 8
Здравствуйте. я новичок в Oracle поэтому такой простой вопрос. Как привильно присвоить значение переменной из поля таблицы.
спрашиваю потому что выдает ошибку при написании a:=inf.kod_film; пишет что не может быть применени в данном контексте

используется таблица inf и поле kod_film.

В чем ошибка?

declare
n number := 0;
a number;
begin
a:= inf.kod_film;

LOOP
IF (a <> inf.kod_film+1) THEN
n := n+1;
END IF;
END LOOP;
end;
29 ноя 12, 21:32    [13552707]     Ответить | Цитировать Сообщить модератору
 Re: Присваивание значания переменной  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
select inf.kod_film into a from.....

А может еще надо:
for i in(select * from table_name) loop
 if 
   ........
 end if;
end loop;
29 ноя 12, 21:40    [13552727]     Ответить | Цитировать Сообщить модератору
 Re: Присваивание значания переменной  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7435
Aleksandrr
LOOP       
    IF (a <> inf.kod_film+1) THEN
        n := n+1;        
    END IF;
END LOOP;
какая-то безвыходность просматривается, не?
29 ноя 12, 21:50    [13552754]     Ответить | Цитировать Сообщить модератору
 Re: Присваивание значания переменной  [new]
Aleksandrr
Member

Откуда:
Сообщений: 8
не обращайте внимания на текст. Главное объясните как правильно в переменную записать данные из таблицы
29 ноя 12, 21:59    [13552773]     Ответить | Цитировать Сообщить модератору
 Re: Присваивание значания переменной  [new]
Aleksandrr
Member

Откуда:
Сообщений: 8
LOOP
IF (a <> inf.kod_film+1) THEN

а как привильно обратиться к полю таблицы?
29 ноя 12, 22:13    [13552803]     Ответить | Цитировать Сообщить модератору
 Re: Присваивание значания переменной  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
Aleksandrr
LOOP
IF (a <> inf.kod_film+1) THEN

а как привильно обратиться к полю таблицы?

так написали-ж, даже подчеркнули.. Хотяь можно с поправкой-
select kod_film into a from inf;
Если правильно понял постановку, где kod_film имя поля, inf имя таблицы.
29 ноя 12, 22:21    [13552837]     Ответить | Цитировать Сообщить модератору
 Re: Присваивание значания переменной  [new]
Aleksandrr
Member

Откуда:
Сообщений: 8
select kod_film into a from inf; выдает ошибку 'Точная выборка возвращает количество строк больше запрошенного'
29 ноя 12, 22:52    [13552948]     Ответить | Цитировать Сообщить модератору
 Re: Присваивание значания переменной  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7435
Что не понятно по тексту ошибки?
29 ноя 12, 22:54    [13552950]     Ответить | Цитировать Сообщить модератору
 Re: Присваивание значания переменной  [new]
Aleksandrr
Member

Откуда:
Сообщений: 8
если честно я не совсем понимаю как решить эту проблему.
29 ноя 12, 23:17    [13553006]     Ответить | Цитировать Сообщить модератору
 Re: Присваивание значания переменной  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
Aleksandrr, ты выбираешь в переменную "а" больше одного значения.
29 ноя 12, 23:22    [13553014]     Ответить | Цитировать Сообщить модератору
 Re: Присваивание значания переменной  [new]
stax..
Guest
Aleksandrr
select kod_film into a from inf; выдает ошибку 'Точная выборка возвращает количество строк больше запрошенного'

into подразумивает что выборка (селект) вернет ровно одну строку, иначе ошибка (исключение)

подозреваю что Вам надо напр
declare
  v_kod_film number;
begin
 for r in (select empno kod_film from emp) loop --emp Ваша табличка
   v_kod_film:=r.kod_film; --сабж
   if v_kod_film>1000 then --какое-то условие
      null;                --шо-то считаем
   end if;
 end loop;              
end;
/


.....
stax
30 ноя 12, 10:48    [13554242]     Ответить | Цитировать Сообщить модератору
 Re: Присваивание значания переменной  [new]
Aleksandrr
Member

Откуда:
Сообщений: 8
stax..,

select empno kod_film from emp..... при подставлении таблицы вместо emp (select empno kod_film from FILM) выдает ошибку "EMPNO": недопустимый идентификатор.

в чем ошибка?
1 дек 12, 18:20    [13562003]     Ответить | Цитировать Сообщить модератору
 Re: Присваивание значания переменной  [new]
stax..
Guest
Aleksandrr,
empno ето поле таблицы emp, Вам надо указать поля Вашей таблички

......
stax
1 дек 12, 18:51    [13562069]     Ответить | Цитировать Сообщить модератору
 Re: Присваивание значания переменной  [new]
Aleksandrr
Member

Откуда:
Сообщений: 8
stax..,

если я верно понял это будет так?

select kod_film from FILM
1 дек 12, 21:44    [13562698]     Ответить | Цитировать Сообщить модератору
 Re: Присваивание значания переменной  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54391
Aleksandrr,

вы путаете начальную школу и форум

:(
1 дек 12, 21:54    [13562731]     Ответить | Цитировать Сообщить модератору
 Re: Присваивание значания переменной  [new]
Aleksandrr
Member

Откуда:
Сообщений: 8
andreymx,

Прошу прощенья. действительно глупый вопрос.
1 дек 12, 22:12    [13562806]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить