Как задать переменную через командную строку?

Bubl

Объясняю ситуацию,
у меня есть маленький запросик
например
select cdf_nocdefou from mgcdf where cdf_nobonliv like '%номер заказа%';
я хочу его привязать к cmd файлу
sqlplus system/XXX @D:\YYY\select.sql
но мне нужно чтобы при запуске смдешника запрашивался номер заказа вводимый пользователем, те -> запуск cmd, юзер тапает номер, селект дает ответ.
Подскажите плиз!

artimon

Ещё раз, помедленнее и попонятнее

yolki

имхо проще программулю написать на wsh например.

Bubl

все просто надо чтобы юзер мог получать ответы на один зарос, для этого я запрос привязываю к cmd файлу, но в самом запросе хочу сделать переменную, чтобы юзер мог бы написать например после запуска cdm файла 1, и 1 передался бы запросу. Так лучше?

Bubl

ну не знаю, это делается на сервере там кроме Оракла ничиво нет. Что такое wsh не знаю. Этот вариант меня не очень устраивает также. Желательно cmd или bat.

yolki

wsh - это тот же батник, только на вижуалбейсике.
есть во всех виндах начиная с 2000

0000

Если все это дело запускается на Windows системе, то все очень просто вроде:
пишем WSH скрипт, который формирует sql запрос, потом выполняем его через sqlplus. Вообщем типа того
<filename>.vbs

strInput = InputBox("Введите номер заказа","Крутой скрипт")
set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
set f = objFSO.CreateTextFile("c:\select.sql", True)
f.Write ("select * from t1 where num = " & Chr(39) & strInput & Chr(39
f.Close
set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run Chr(34) & "sqlplus system/XXX C:\select.sql" & Chr(34)

Примерно то же самое можно и bat-ником написать, тока чуть более геморно.
P.S. Запускается скрипт так же как батник - это встроенный скриптовый язык, потому не стоит его пугаться

Ivan8209

> Желательно cmd или bat.
Изучи (ba)sh.
---
Пользователи делятся на две группы:
тех, кто хочет работать на компьютере,
и тех, кто хочет, чтобы компьютер работал за них.

Bubl

Черт я наверное слишком глупа , но что указывать вместо номера заказа в C:\select.sql?

0000

Номер заказа указываешь в окошке. Для твоих целей скрипт надо слегка отредакировать - там только общая идея - я же не знаю какой конкретно sql запрос ты собираешься выполнять, откуда брать select.sql и где у тебя установлен sqlplus.

Bubl

я же не могу в написать select cdf_nocdefou from mgcdf where cdf_nobonliv like '%номер заказа%';
sql + просто не поймер что такое - номер заказа.?

0000

Пиши в аську - 165016340
Оставить комментарий
Имя или ник:
Комментарий: