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

Откуда:
Сообщений: 1017
DECLARE
  reportDate DATE;

BEGIN
  reportDate:=TO_DATE(TO_CHAR(SYSDATE, 'DD.MM.YYYY'),'DD.MM.YYYY')-3  ;

  -- здесь хотелось бы так:
  SELECT m.* FROM myTable m WHERE m.dt=reportDate  

  -- и увидеть результат выборки
END ;

Однако Oracle требует указания INTO в конструкции SELECT. Неужто так просто нельзя как в MSSQL ? или надо оформлять в виде хранимой процедуры, функции?
6 июн 08, 11:43    [5769261]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите про синтакзис запроса с переменной в WHERE  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
Все зависит от расшифровки слова "увидеть" :) Где увидеть?
6 июн 08, 11:47    [5769308]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите про синтакзис запроса с переменной в WHERE  [new]
Nikolay****
Member

Откуда:
Сообщений: 223
DECLARE
reportDate DATE;

BEGIN
reportDate:=TO_DATE(TO_CHAR(SYSDATE, 'DD.MM.YYYY'),'DD.MM.YYYY')-3 ;

-- здесь хотелось бы так:
for rec in ( SELECT m.* FROM myTable m WHERE m.dt=reportDate ) loop
dbms_output.put_line(rec.dt);

end loop;
-- и увидеть результат выборки
END ;
6 июн 08, 11:49    [5769327]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите про синтакзис запроса с переменной в WHERE  [new]
Elic
Member

Откуда:
Сообщений: 29990
superbluesman
увидеть результат выборки
STFF refcursor
6 июн 08, 11:51    [5769345]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите про синтакзис запроса с переменной в WHERE  [new]
superbluesman
Member

Откуда:
Сообщений: 1017
То Jannny :

извиняюсь, что не уточнил смысл "увидеть".

увидеть= в данном случае имею ввиду:
пишу, тестирую запрос в SQL Navigatore и хотелось бы выполнить запрос c переменной в WHERE
и результат увидеть в гриде по нажатию F9, ну вообщем подобно тому как в Microsoft QA,Management Studio
6 июн 08, 11:58    [5769419]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите про синтакзис запроса с переменной в WHERE  [new]
superbluesman
Member

Откуда:
Сообщений: 1017
увидеть= в данном случае имею ввиду:
пишу, тестирую запрос в SQL Navigatore и хотелось бы выполнить запрос c переменной в WHERE
и результат увидеть в гриде по нажатию F9, ну вообщем подобно тому как в Microsoft QA,Management Studio

не прибегая к ref-курсорам, loop-циклам
6 июн 08, 12:00    [5769439]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите про синтакзис запроса с переменной в WHERE  [new]
пвлотпавот
Guest
superbluesman
DECLARE
  reportDate DATE;

BEGIN
  reportDate:=TO_DATE(TO_CHAR(SYSDATE, 'DD.MM.YYYY'),'DD.MM.YYYY')-3  ;

  -- здесь хотелось бы так:
  SELECT m.* FROM myTable m WHERE m.dt=reportDate  

  -- и увидеть результат выборки
END ;

Однако Oracle требует указания INTO в конструкции SELECT. Неужто так просто нельзя как в MSSQL ? или надо оформлять в виде хранимой процедуры, функции?
А в чем вообще смысл использования PL/SQL в данном конкретном случае? Только для того, чтобы присвоить параметру некоторое значение?
6 июн 08, 12:01    [5769445]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите про синтакзис запроса с переменной в WHERE  [new]
Не понимаю...
Guest
superbluesman
не прибегая к ref-курсорам, loop-циклам
А если не прибегать ко всему этому, то нах... вообще лезть в PL/SQL? Что мешает просто написать запрос, без всяких там никому не нужных BEGIN / END ???
6 июн 08, 12:02    [5769457]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите про синтакзис запроса с переменной в WHERE  [new]
Начинаю понимать
Guest
Не понимаю...
superbluesman
не прибегая к ref-курсорам, loop-циклам
А если не прибегать ко всему этому, то нах... вообще лезть в PL/SQL? Что мешает просто написать запрос, без всяких там никому не нужных BEGIN / END ???


И если что, то нужно просто в качетсве параметра указать примерно такое:
SELECT m.* FROM myTable m WHERE m.dt = :reportDate  
А чтобы SQL Navigator согласился вместо параметра подставить конкретное значение, нужно кнопку в нем нажать волшебную...
6 июн 08, 12:04    [5769468]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите про синтакзис запроса с переменной в WHERE  [new]
Кажись понял
Guest
Начинаю понимать
Не понимаю...
superbluesman
не прибегая к ref-курсорам, loop-циклам
А если не прибегать ко всему этому, то нах... вообще лезть в PL/SQL? Что мешает просто написать запрос, без всяких там никому не нужных BEGIN / END ???


И если что, то нужно просто в качетсве параметра указать примерно такое:
SELECT m.* FROM myTable m WHERE m.dt = :reportDate  
А чтобы SQL Navigator согласился вместо параметра подставить конкретное значение, нужно кнопку в нем нажать волшебную...

Вот, тынц. Для особо ленивых MS SQL-щиков
6 июн 08, 12:06    [5769485]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить