|
Комрады, вопрос по декларированию процедуры из скрипта ...
|
|||
---|---|---|---|
#18+
Стандартная декларация: DECLARE spu_xyz PROCEDURE FOR spu_xyz; EXECUTE spu_xyz; CLOSE spu_xyz; пишу окно в котором название процедуры - переменная т.е. что-то типа такого: string s_procedure_name s_procedure_name = dw_1.getitemstring(dw_1.getrow(), 'procedure_name') вообшем-то уже всё написал используя: .... бла-бла-бла ... DECLARE spu_procedure DYNAMIC PROCEDURE FOR SQLSA ; ... и т.д. всё работает, но внезапно возник вопрос, а можно ли, и если да, шо там за хитрый синтакс, использовать стандартную декларацию процедуры ... типа: DECLARE spu_xyz PROCEDURE FOR :s_procedure_name ; EXECUTE spu_xyz; CLOSE spu_xyz; Если у кого есть настроение ответить, зараннее пасиба. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2009, 22:45 |
|
Комрады, вопрос по декларированию процедуры из скрипта ...
|
|||
---|---|---|---|
#18+
voronk а можно ли, и если да, шо там за хитрый синтакс, использовать стандартную декларацию процедуры ... типа: DECLARE spu_xyz PROCEDURE FOR :s_procedure_name ; EXECUTE spu_xyz; CLOSE spu_xyz; Через ":" можно объявлять только параметры процедуры (если они есть). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2009, 00:03 |
|
Комрады, вопрос по декларированию процедуры из скрипта ...
|
|||
---|---|---|---|
#18+
Если я Вас правильно понял, то Вы динамически хотите менять название процедуры? Если да, то была у меня аналогичная проблема. В общем я сделал процедуру заглушку, обьявил ее стандартным способом и туда передавал имя реальной процедуры. Уж не знаю, хорошо это было или плохо. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2009, 00:32 |
|
Комрады, вопрос по декларированию процедуры из скрипта ...
|
|||
---|---|---|---|
#18+
я в некоторых случаях делаю создание datastore на процедуре Код: plaintext 1. 2. 3. 4.
можно и любую процедуру подцепить и запрос любой подпихнуть ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2009, 10:26 |
|
Комрады, вопрос по декларированию процедуры из скрипта ...
|
|||
---|---|---|---|
#18+
edmikecaЕсли я Вас правильно понял, то Вы динамически хотите менять название процедуры? Если да, то была у меня аналогичная проблема. В общем я сделал процедуру заглушку, обьявил ее стандартным способом и туда передавал имя реальной процедуры. Уж не знаю, хорошо это было или плохо. 1. можно на ты и с маленькой буквы ... 2. спасибо за мысль. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2009, 17:40 |
|
Комрады, вопрос по декларированию процедуры из скрипта ...
|
|||
---|---|---|---|
#18+
VanoRя в некоторых случаях делаю создание datastore на процедуре Код: plaintext 1. 2. 3. 4.
можно и любую процедуру подцепить и запрос любой подпихнуть Ну дык это когда надо больше чем один рекорд придащить обратно, мне retrieve() не требуетса, у меня обратно возврашаетса int и string: 1, 'Всё впорядке, кол-во рекордов:35' или 0, 'Краткое объяснение в чё проблема' ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2009, 17:45 |
|
Комрады, вопрос по декларированию процедуры из скрипта ...
|
|||
---|---|---|---|
#18+
Вообщем 'Война окончена - всем спасибо.' Спасибо ребята что поучаствовали, оставлю так как написал с начала, вот, может кому пригодиЦЦа: l_row = dw_1.getrow() s_procedure_name = dw_1.getitemstring(l_row, 'procedure_name') l_import_batch = dw_1.getitemstring(l_row, 'import_batch') s_file_name = dw_1.getitemstring(l_row, 'file_name') /* Процедура имеет 3 параметра их и пассую ... */ s_sql = 'execute ' + s_procedure_name + ' @user_name=' + '?' + ',' + ' @import_batch=' + '?' + ',' + ' @file_name=' + '?' PREPARE SQLSA FROM :s_sql using sqlca; DESCRIBE SQLSA INTO SQLDA ; DECLARE spu_procedure DYNAMIC PROCEDURE FOR SQLSA ; i_rc = SQLDA.SetDynamicParm(1, s_user_name) i_rc = SQLDA.SetDynamicParm(2, l_import_batch) i_rc = SQLDA.SetDynamicParm(3, s_file_name) EXECUTE DYNAMIC spu_procedure USING DESCRIPTOR SQLDA ; IF sqlca.Sqlcode <> 0 THEN Messagebox('Error', 'Error Code: ' + String(Sqlca.Sqlcode) + '~nError Text: ' + sqlca.sqlerrtext, exclamation!) ELSE FETCH spu_procedure INTO :i_res, :s_msg; IF sqlca.Sqlcode <> 0 THEN Messagebox('Error', 'Error Code: ' + String(Sqlca.Sqlcode) + '~nError Text: ' + sqlca.sqlerrtext, exclamation!) END IF END IF CLOSE spu_procedure; ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2009, 17:55 |
|
|
start [/forum/topic.php?fid=15&msg=35774584&tid=1336405]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 137ms |
0 / 0 |