|
execute immediate .... error
|
|||
---|---|---|---|
#18+
PowerBuilder 12, MySQL 5.1 1. при выполнение из NetBeans DROP FUNCTION IF EXISTS sk_base.fn_varelog_backup_2_vare_speed_active; DELIMITER $$ CREATE FUNCTION sk_base.fn_varelog_backup_2_vare_speed_active() RETURNS INTEGER BEGIN DECLARE iRet INTEGER DEFAULT 0; DECLARE varenr VARCHAR(30); DECLARE speed_active INTEGER; DECLARE done INTEGER; DECLARE cur_vlb CURSOR FOR SELECT DISTINCT v.v_varenr, IF(ISNULL(v.v_speed_active), 0, v.v_speed_active) AS v_speed_active FROM varelog_backup vl JOIN vare v ON v.v_varenr = vl.vl_varenr AND IF(ISNULL(v.v_speed_active), 0, v_speed_active) <> 1 -- (= 1 this vare is now use speed_active) ; DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done=1; OPEN cur_vlb; FETCH cur_vlb INTO varenr, speed_active; WHILE done = 0 DO UPDATE vare SET v_speed_active = 1 WHERE v_varenr = varenr; FETCH cur_vlb INTO varenr, speed_active; END WHILE; CLOSE cur_vlb; RETURN iRet; END $$ DELIMITER ; скрипт выполняется успешно и функция создается. 2. при выполнение из кода powerbuilder execute immediate :..._sql ... ; получаем ошибку SQLSTATE = 37000 You have an error in your sql syntax. ..... Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 17:01 |
|
execute immediate .... error
|
|||
---|---|---|---|
#18+
Не могу попробовать Но вот это Код: sql 1.
и вот это Код: sql 1.
в разные строковые переменные и в разные execute immediate Это вообще не надо выполнять, скорее всего Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 18:18 |
|
execute immediate .... error
|
|||
---|---|---|---|
#18+
Mykola, А разве Execute Immediate умеет выполнять группы операторов? Насколько я помню там надо передавать отдельные операторы (и даже без завершающей ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 18:30 |
|
execute immediate .... error
|
|||
---|---|---|---|
#18+
Может, но вот MySQL никогда не пробовал Анатолий, create function по-сути тоже команда, а насчет последней ; - кажись так и есть ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 19:11 |
|
execute immediate .... error
|
|||
---|---|---|---|
#18+
может. для ASA подобное работало ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 21:52 |
|
execute immediate .... error
|
|||
---|---|---|---|
#18+
Mykolaможет. для ASA подобное работало Подобное и сейчас работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 23:26 |
|
execute immediate .... error
|
|||
---|---|---|---|
#18+
да работает. только конечно синтаксис asa (watcom sql). для MySQL 5.1 заработал вариант: разбил на две строки и убрал Delimiter 1. первая строка DROP .... + execute. 2. вторая строка CREATE .... + execute. одной строкой (без Delimiter) .... + execute - еще не пробовал. Большое спасибо всем за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2012, 08:59 |
|
|
start [/forum/topic.php?fid=15&msg=37898338&tid=1335518]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
132ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 236ms |
total: | 460ms |
0 / 0 |