Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Help me !


Страницы:   1 2

Starter2 ©   (2002-09-02 16:36:00) 

UPDATE "LsN" D
SET D.LsNSumma = D.LsNSumma/100*
(SELECT T.TmPrem FROM "TempPr" T
WHERE (D.LsNYear = T.TmYear) AND (D.LsNMonth = T.TmMon))
WHERE (D.LsNKind="Премия")


Не меняет в таблице LsN ничего !

UPDATE "LsN" D
SET D.LsNSumma = D.LsNSumma*
(SELECT T.TmPrem FROM "TempPr" T
WHERE (D.LsNYear = T.TmYear) AND (D.LsNMonth = T.TmMon))
WHERE (D.LsNKind="Премия")


Все меняет прапвильно !

Отличие во 2-й строке (если ставлю "/100", то перестает работать)


Starter2   (2002-09-02 19:41:00) [1]

>Prooksius © (02.09.02 19:36)
А транзакцию комитишь? Или там такого нет? :)

Я же описал по крайней мере раза 3 как я все делаю !
Если бы я не согласовывал изменения, то оно бы не работало в ОБОИХ случаях, но ведь это не так :>(

>Val © (02.09.02 19:27)
Все заработасо с кастаньем. Но почему не работает без него, убей-не пойму !


Prooksius   (2002-09-02 19:36:00) [2]

А транзакцию комитишь? Или там такого нет? :)


Starter2   (2002-09-02 19:34:00) [3]

>SET LsNSumma=LsNSumma+CAST(10 AS FLOAT)
Заработало !
Но какого хрена, спрашивается ? Глюки в доме Борланда ?


Val   (2002-09-02 19:27:00) [4]

как интересно, а попробуйте cast применить


Starter2   (2002-09-02 19:21:00) [5]

Маразм какой-то ...
Беру строку и добавляю другую колонк подобного типа
a-Dec(10,2) b-SMALLINT
SET a=a+b+2 - работает !
убираю
SET a=a+2 - не работает !
Мистика ?????


Starter2   (2002-09-02 19:17:00) [6]

>Val © (02.09.02 19:09)
Я не просто жму рефреш, я закрываю окно вообще, потом его снова открываю - ни фига. Мне что, винду перегрузить что ли ?


Val   (2002-09-02 19:09:00) [7]

>Starter2 (02.09.02 19:01)
я вижу, что это за запрос. я не собираюсь с вами спорить и повторять предыдущий мой пост. как вы думаете, почему у меня меняет, а у вас нет? Лень что-ли кнопку рефреша нажать?


Starter2   (2002-09-02 19:01:00) [8]

>Val © (02.09.02 18:35)
Я же сказал, запрос типа Update. Он ничего не возвращает. Я его тупо запускаю SQL-експлорером (больше ничего активного нет, ни одной проги, кроме Касперского и WinAmp), он выполняется, если справа в выражении SET не указано имя модифицируемого поля (напрмер, a = 20), рез-т видно сразу по переклацанию таблицы (ушел с тек.таблицы, снова пришел-посмотрел). Если же я в этот запрос ПРОСТО добавлю "a+" будет a=a+20 и запрос вообще ничего не меняет !


Val   (2002-09-02 18:35:00) [9]

>Starter2 (02.09.02 18:20)
в вашем случае пофиг, когда делить, когда умножать. зря вы нервничаете.
Дело в том, что я вообще могу убрать подзапрос и оставить a=a+1,
результата все равно нет !

чушь городите, вы набор обновляете перед тем как посмотреть результаты выполнения???


AL2002   (2002-09-02 18:35:00) [10]

>МНЕ НАДО РАЗДЕЛИТЬ, БЛИН, А ПОТОМ УМНОЖИТЬ !
Так, блин, возьми в скобки.


Starter2   (2002-09-02 18:20:00) [11]

AL2002 © (02.09.02 18:09)
>Все меняет прапвильно !
МНЕ НАДО РАЗДЕЛИТЬ, БЛИН, А ПОТОМ УМНОЖИТЬ !
>Val © (02.09.02 18:11)
>СУБД какая?
у вас подзапрос точно одно значение возвращает?

СУБД .db(Paradox)
Подзапрос работает один-ко многим, т.е. по одной записи TmPrem
меняется несколько с такими же ключами.
Почему оно работает пока я не использую в выражении SET имя самого модернизируемого поля вместе с константой.
Дело в том, что я вообще могу убрать подзапрос и оставить a=a+1,
результата все равно нет !




AL2002   (2002-09-02 18:15:00) [12]

>(SELECT T.TmPrem FROM "TempPr" T
> WHERE (D.LsNYear = T.TmYear) AND (D.LsNMonth = T.TmMon))
> WHERE (D.LsNKind="Премия")
Может, я и не прав, но ты то, что выше, лучше присвой переменной, а потом прибавляй.


Val   (2002-09-02 18:11:00) [13]

СУБД какая?
у вас подзапрос точно одно значение возвращает?


AL2002   (2002-09-02 18:09:00) [14]

>Все меняет прапвильно !
Так чё тебе нужно?


Starter2   (2002-09-02 18:09:00) [15]

Не проходит даже
SET LsNSumma = LsNSumma/100


Starter2   (2002-09-02 18:08:00) [16]

>Val © (02.09.02 18:04)
а где результаты смотрите?
Да хоть SQL-еxp-м, хоть десктопом..
Все закрывал-переоткрывал - рез-т тот же !



Val   (2002-09-02 18:04:00) [17]

>Starter2 (02.09.02 17:47)
а где результаты смотрите?


Starter2   (2002-09-02 18:04:00) [18]

ХЭЛП МИ !
ХЭЛП МИ ЭВРИБАДИ ?8-(0)


Starter2   (2002-09-02 17:47:00) [19]

>Val
Не понял юмора ! Но на всякий случай попробовал - результат тот же, что и при делении на 100


Val   (2002-09-02 17:38:00) [20]

чудеса какие :(
а как насчет *0.01?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо