Присваивание значания переменной

Aleksandrr
Дата: 29.11.2012 21:32:15
Здравствуйте. я новичок в 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;
semenar
Дата: 29.11.2012 21:40:03
select inf.kod_film into a from.....

А может еще надо:
for i in(select * from table_name) loop
 if 
   ........
 end if;
end loop;
Relic Hunter
Дата: 29.11.2012 21:50:09
Aleksandrr
LOOP       
    IF (a <> inf.kod_film+1) THEN
        n := n+1;        
    END IF;
END LOOP;
какая-то безвыходность просматривается, не?
Aleksandrr
Дата: 29.11.2012 21:59:10
не обращайте внимания на текст. Главное объясните как правильно в переменную записать данные из таблицы
Aleksandrr
Дата: 29.11.2012 22:13:25
LOOP
IF (a <> inf.kod_film+1) THEN

а как привильно обратиться к полю таблицы?
semenar
Дата: 29.11.2012 22:21:25
Aleksandrr
LOOP
IF (a <> inf.kod_film+1) THEN

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

так написали-ж, даже подчеркнули.. Хотяь можно с поправкой-
select kod_film into a from inf;
Если правильно понял постановку, где kod_film имя поля, inf имя таблицы.
Aleksandrr
Дата: 29.11.2012 22:52:18
select kod_film into a from inf; выдает ошибку 'Точная выборка возвращает количество строк больше запрошенного'
Relic Hunter
Дата: 29.11.2012 22:54:10
Что не понятно по тексту ошибки?
Aleksandrr
Дата: 29.11.2012 23:17:36
если честно я не совсем понимаю как решить эту проблему.
semenar
Дата: 29.11.2012 23:22:12
Aleksandrr, ты выбираешь в переменную "а" больше одного значения.