Страница 1 из 1

Mysql запрос выдает ошибку

Добавлено: 19 Январь 2018, 16:45
gopstop2007
Создал запрос, проверил в MySQL - выполняется без ошибок, скопировал в Clarion10, при выполнении выдает ошибку - "PRODUCT : ошибка файла драйвера".

Код: Выделить всё

product{PROP:SQL}='UPDATE product t1 ' &|
                    ' JOIN valute t2 on t2.valute_id = t1.VAL_START ' &|
                    ' JOIN valute t3 on t3.valute_id = t1.VAL_SALE ' &|
    ' SET t1.PRICE_SALE = ' &|
    '( CASE ' &|
	' WHEN t1.VAL_START = t1.VAL_SALE AND t1.NACHENKA > 0 THEN t1.PRICE_START + t1.PRICE_START * t1.NACHENKA/100 ' &|
	' WHEN t1.VAL_START <> t1.VAL_SALE AND t1.NACHENKA > 0 THEN ' &|
		' CASE ' &|
		' WHEN t2.CURR_TODAY = 1 THEN IF (t3.FUNC='/',' &|
		    ' (t1.PRICE_START + t1.PRICE_START * t1.NACHENKA/100)*t3.CURR_TODAY,' &|
		    ' (t1.PRICE_START + t1.PRICE_START * t1.NACHENKA/100)/t3.CURR_TODAY)' &|
		' WHEN t3.CURR_TODAY = 1 THEN IF(t2.FUNC='/',' &|
			' (t1.PRICE_START + t1.PRICE_START * t1.NACHENKA/100)/t2.CURR_TODAY,' &|
			' (t1.PRICE_START + t1.PRICE_START * t1.NACHENKA/100)*t2.CURR_TODAY)' &|
		' ELSE t1.PRICE_SALE ' &|
		' END ' &|
    ' END ) ;'
IF ErrorCode() THEN Message('Файл: ' & Choose(Error()=FileSystemErr, FileError(), Error())) END
В mysql этот же код проходит без ошибок

Код: Выделить всё

   UPDATE product t1
	JOIN valute t2 on t2.valute_id = t1.VAL_START
	JOIN valute t3 on t3.valute_id = t1.VAL_SALE
   SET t1.PRICE_SALE = 
   CASE
	WHEN (t1.VAL_START = t1.VAL_SALE  AND t1.NACHENKA > 0) THEN t1.PRICE_START + t1.PRICE_START * t1.NACHENKA/100
	WHEN (t1.VAL_START <> t1.VAL_SALE AND t1.NACHENKA > 0) THEN
		CASE
		WHEN t2.CURR_TODAY = 1 THEN IF( t3.FUNC='/',
			(t1.PRICE_START + t1.PRICE_START * t1.NACHENKA/100)*t3.CURR_TODAY,
			(t1.PRICE_START + t1.PRICE_START * t1.NACHENKA/100)/t3.CURR_TODAY )
		WHEN t3.CURR_TODAY = 1 THEN IF( t2.FUNC='/',
			(t1.PRICE_START + t1.PRICE_START * t1.NACHENKA/100)/t2.CURR_TODAY,
			(t1.PRICE_START + t1.PRICE_START * t1.NACHENKA/100)*t2.CURR_TODAY )
		ELSE t1.PRICE_SALE
		END
   END;
Может чего то упустил?! :) Глаз замылился, буду рад любой подсказке

Mysql запрос выдает ошибку

Добавлено: 19 Январь 2018, 16:53
Ал
'/' - так и писать в клаше :?:

Mysql запрос выдает ошибку

Добавлено: 19 Январь 2018, 17:12
Lens
Ал писал(а): 19 Январь 2018, 16:53 '/' - так и писать в клаше :?:
Правильно будет в запросе <39>/<39> вместо '/'

Mysql запрос выдает ошибку

Добавлено: 19 Январь 2018, 17:21
gopstop2007
Ал писал(а): 19 Январь 2018, 16:53 '/' - так и писать в клаше :?:
"'эх Семен Семеныч" :D
Спасибо, оно, лог (file{PROP:Profile}) , показывал строку которой даже намека на синтаксис

Код: Выделить всё

mySQL server version for the right syntax to use near '(t1.PRICE_START + t1.PRICE_START * t1.NACHENKA/100)*t3.CURR_TODAY, (t1.PRICE_STA' at line 1 Time Taken:0.02 secs

Ошибка в .FUNC='/' надо было в одинарно-двойные кавычки ''/''
Lens писал(а): 19 Январь 2018, 17:12 Правильно будет в запросе <39>/<39> вместо '/'
Спасибо