powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Использование переменной в конструкции SELECT
23 сообщений из 23, страница 1 из 1
Использование переменной в конструкции SELECT
    #36113460
R@Lf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, что в этом запросе не верно?
declare
a number :=2;

begin
select * from table1 t where t.lang_lang_id=:a;
end;

по идее в итоге должна формироваться таблица в которой t.lang_lang_id=2.

Что делаю не так?
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113496
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R@Lf..

Что делаю не так?

двоеточие - в сад
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113504
R@Lf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если делаю без двоеточия выдает ошибку:

"PLS-00428: an INTO clause is expected in this SELECT statement."

А как решить эту проблему для меня пока не понятно.
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113507
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R@Lf,

ну и насчёт сформироваться таблица - читайте книги - пока она вам ничего
(разве, кроме ексепшена) не должна
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113508
Пухлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
R@Lfесли делаю без двоеточия выдает ошибку:

"PLS-00428: an INTO clause is expected in this SELECT statement."

А как решить эту проблему для меня пока не понятно.

чего сделать то хочешь?
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113533
R@Lf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем то хочу разобраться с использованием заранее объявленных переменных в select-конструкциях.
Соответственно интересует вопрос: как сделать так чтобы запрос из поста№1 заработал?
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113551
Lecter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R@LfВ общем то хочу разобраться с использованием заранее объявленных переменных в select-конструкциях.
Соответственно интересует вопрос: как сделать так чтобы запрос из поста№1 заработал?

Заработал откуда? USING?!
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113576
R@Lf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Опишу все сначала и как можно подробнее пожалуй:
1. Использую для работы pl/sql developer
2. С переменными на sql не работал, поэтому как ими пользоваться знаю только по другим языкам.
3. Есть запрос в котором в нескольких местах используется одно и то же значение, которое периодичски приходится изменять. Чтобы это делать не руками, было решено ввести переменные, так как сам разобраться не смог решил спросить здесь.

Соответственно хотелось бы получить помощь в освоении переменных на sql. Желательно расписать все поподробнее если есть время и желание.
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113590
.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.
Гость
Код: plaintext
1.
2.
3.
4.
5.
declare
a number := 2 ;
begin
  select * from table1 t where t.lang_lang_id=:a;
end;

Куда, по твоему, должен oracle поместить (где показать) результат этого запроса?
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113614
R@Lf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
.
Код: plaintext
1.
2.
3.
4.
5.
declare
a number := 2 ;
begin
  select * from table1 t where t.lang_lang_id=:a;
end;

Куда, по твоему, должен oracle поместить (где показать) результат этого запроса?

Вообще мне казалось что вся эта конструкция никак не отличается от простого селекта, за исключением того, что добавились переменные. Если я не прав, укажите пожалуйста где
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113633
neiron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
begin
end
это уже pl/sql код, тут select или в переменную или в курсор ну и еще варианты,
Код: plaintext
1.
2.
3.
4.
5.
declare
a number := 2 ;
rec table1%rowtype;
begin
  select * into rec from table1 t where t.lang_lang_id=:a;
end;
но будет эксепшен если запрос вернет более одной строки
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113634
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R@LfОпишу все сначала и как можно подробнее пожалуй:
1. Использую для работы pl/sql developer
2. С переменными на sql не работал, поэтому как ими пользоваться знаю только по другим языкам.
3. Есть запрос в котором в нескольких местах используется одно и то же значение, которое периодичски приходится изменять. Чтобы это делать не руками, было решено ввести переменные, так как сам разобраться не смог решил спросить здесь.

Соответственно хотелось бы получить помощь в освоении переменных на sql. Желательно расписать все поподробнее если есть время и желание.
вы, однако, pl/sql и sql путаете. это однозначно означает, что надо идти читать:
1) концепты
2) sql
3) pl/sql
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113651
R@Lf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вся работа ведется на pl/sql, так что все вопросы связаны с ним.
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113655
neiron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в pl/sql select делается во что-то select .. into или цикл for rec in ( select ...) ...
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113661
mmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R@Lf,

В таком случае для "быстрого" решения можно погуглить про курсоры (явные/неявные) и использование select .. into и select bulk collect into (+использование массивов в PL/SQL)
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113717
work-sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может быть автору достаточно будет:
Код: plaintext
1.
select * from table1 t where t.lang_lang_id=&a;
И запускать в SQL Window.
Только значение параметра придется вводить почти каждый раз.
Можно, конечно и так:
Код: plaintext
1.
2.
3.
4.
variable a number
begin :a:= 2 ; end;
/
select * from table1 t where t.lang_lang_id=:a;
И запускать в Command Window,
но думаю это автору не понравиться.
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113793
Lecter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
work-sa,

Есть подозрение что автору нужно это выполнять в блоке pl/sql
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113802
R@Lf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я по всей видимости чего-то не понимаю. Если умные люди смогут объяснить буду признателен.

В чем принципиальная разница между простым селектом и селектом в котором используются переменные на pl/sql?
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113812
mmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R@Lf,

В том что SQL <> PL/SQL
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113849
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R@Lf1. Использую для работы pl/sql developer
File->New->Test Window. Вводите Ваш запрос типа:

Код: plaintext
select * from dual where :p =  1 ;

В нижней части экрана правый клик->Scan Variables. И развлекайтесь с переменными...

PS: А вот чтобы понять, что делает PL/SQL Developer для использования таких переменных, придётся читать про вышесказанное другими товарищами, да вдобавок про переменные привязки в SQL*Plus ...
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #36113876
R@Lf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLer,

спасибо добрый человек. Натолкнул на много размышлений.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Использование переменной в конструкции SELECT
    #39550645
mxmmx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Периодически нужно делать некую выборку за первые несколько месяцев года (текущего и прошлых).
Пользуюсь сохраненным запросом с кучей конструкций такого типа:

select to_char(&mm,'00'),s.*
from spravochnik s where s.sdate=to_date(&yyyy||to_char(&mm+1,'00')||'01','yyyymmdd');

при попытке выполнить такой запрос, девелопер запрашивает в диалоговом окне значения переменных &yyyy и &mm. В моём случае вбиваю год и количество нужных месяцев и получаю результат.

P.S. понимаю, что пример не будет работать для 12 месяцев, но это просто пример
...
Рейтинг: 0 / 0
Использование переменной в конструкции SELECT
    #39550646
mxmmx,

а вопрос-то, собственно, в чем?
или ты решил по прошествии 8-ми лет с момента публикации вопроса дать ответ топикстартеру?
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Использование переменной в конструкции SELECT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]