![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: нет Всего: 149 |
Всем привет.
Столкнулся с вопросом объявления параметра в обычном SQL для оракла. Перелопатил Гугль и нифига не нашел :( Может не так искал. На MSSQL делал бы так:
Как сделать такое же в Оракл? Зарание спасибо, ivashkanet |
|||
|
||||
DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 23 Всего: 44 |
в sql + запускаешь:
|
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: нет Всего: 149 |
DimW, не хочет работать :(
А что есть SQL +? Добавлено через 1 минуту и 39 секунд Запускается только в Command window. А никак нельзя сделать то же, но для обычного SQL? |
|||
|
||||
DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 23 Всего: 44 |
sql + это и есть практически command window.
судя из вопроса я понял что тебе нужно имееноо это. выполни вот это:
в test window, предворительно проскань параметры. если опят не то, но обьясни подробнее в чем дело... |
|||
|
||||
ivashkanet |
|
||||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: нет Всего: 149 |
У меня есть довольно объемный SQL. В нем в разных местах идут проверка:
Так вот хотелось бы задать :production_order_number и :operation_number в шапке программы, что бы при изменении не бегать по тексту SQL и исправлять одно и то же.
P.S. К стыду своему ничего не знаю про test window (открыл его, он на меня несколько раз наругался и я его закрыл ![]() Где можно про это почитать? Исенно азы про возможности представляемые Ораклом. |
||||
|
|||||
DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 23 Всего: 44 |
я просто решил что ты используешь pl/sql developer. но неважно. параметры sql запроса определяются след. образом: :<имя параметра> а вот как передать значения параметера в sql тебе виднее. должны быть методы у языка на которм ты создаешь приложение которые отвечают за передачу параметра по имени. импровизирую для наглядности:
а начать изучение оракла можно от сюда: http://www.firststeps.ru/sql/oracle/ |
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: нет Всего: 149 |
В точку
Это-то я использую. И давно (больше года). Вопрос в том, например, как протестить эти SQL перед тем как забивать в код? Что-то я отношусь с подозрением к Command Window ![]() Т.е. Задача такая: 1) есть SQL 'select 'x='||:x result from dual where 10 = :x' 2) нужно его проверить через pl/sql developer и SQL окно 3) для этого нужно объявить и проинициализировать параметр :x Как сделать 3? |
|||
|
||||
DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 23 Всего: 44 |
как это сделать я показал в первом посте. учитывая что ты испольжуешь pl/sql developer это можно сделать только в command window. предлогаю более простой и наглядный способ: 1) открываешь test window и грохаешь от туда все что он сам нагенерил. 2) в чистый редактор вставляешь свой sql с именованными параметрами. 3) правой мышкой жмешь на вторую половину данного окна расположенную в низу экрана и выбираешь scan variables после чего он сканит твой sql и находин в нем имена параметров, далее подставляешь значение параметров и F8. результат смотришь на закладке sql output |
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: нет Всего: 149 |
Понятно, такого как MSSQL
сделать нельзя. Ок, спасибо. |
|||
|
||||
DimW |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 23 Всего: 44 |
пожалуйста.
[quote=ivashkanet, 18.4.2008, 12:21, post1483604]Понятно, такого как MSSQL сделать нельзя./quote] ivashkanet, это:
эквивалентно этому:
но тк ты используешь pl/sql developer в виду его особенностей этого нельзя сделать в одном окне с запросом. точно знаю что есть инструменты которые позволяют все делать в одном окне. ЭТО НЕ ПОБЛЕМА ОРАКЛА - ЭТО ИНСТРУМЕНТ ТАК РЕАЛИЗОВАН Это сообщение отредактировал(а) DimW - 18.4.2008, 12:57 |
||||
|
|||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: нет Всего: 28 |
Попробуйте выполнить в pl/sql developer в запросе перед параметром вместо ":" ставить "&".
Он сам попрсит вас ввести значения параметров. -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
pompei |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 7.9.2007 Репутация: нет Всего: 6 |
В PL/SQL Developer-е
1) Создаёшь test-window (на рис. п. 1) 2) В области declare пишешь любые переменные (на рис. п. 2) 3) Используешь их между begin/end как хочешь. 4) F8 - запускаешь 5) Смотришь результаты (на рис. п. 3) ![]() Это сообщение отредактировал(а) pompei - 14.5.2008, 05:14 --------------------
А всё оказывается гораздо проще: пассивные наноструктуры - активные наноструктуры - системы наносистем - молекулярные наносистемы - сингулярность! По пять лет на каждый этап. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Oracle" | |
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Oracle | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |