|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Нужно добавить набор из N выходных параметров в M процедур. Корректно ли будет делать это через INSERT INTO RDB$PROCEDURE_PARAMETERS из под SYSDBA (имена процедур известны), а не открывая каждую процедуру и компилируя её после редактирования? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 17:41 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Mh7, в топку. Не работоспособно ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 17:50 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Mh7> Корректно ли будет делать это через INSERT INTO RDB$PROCEDURE_PARAMETERS Ответ на этот вопрос не имеет смысла, потому что даже если взлетит - что ты потом с ними будешь делать, BLR по их обработке (заполнению) сам напишется? Если сверху до гланд трудно добраться - не надо пытаться сделать это через анус. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 17:55 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, да нет, конечно BLR сам не напишеться, но хоть объявить эти параметры побыстрее... Блин, но 70 процедур!!! Вот, попробовал, вроде добавил: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39.
Вопрос вот о чем: корректно ли лезть в эту системную таблицу таким образом? Сейчас норм, а что будет после backup/restore (прям сейчас нет возможности проверить)??? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 18:16 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Mh7Вопрос вот о чем: корректно ли лезть в эту системную таблицу таким образом? 1. Нет, не корректно. В версии >= 3.0 это даже запрещено. 2. Ты отгребешь кучу багов. Разных. Я отгребал ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 18:28 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Mh7Блин, но 70 процедур!!! Ну так и проальтери их скриптом. Тебе что, процессор жалко? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 18:29 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Я бы пересоздавал каждую процедуру динамическим SQL. Исходник же есть в системных таблицах. Это если бы вообще дошел до мысли автоматизировать добавление аргументов. Скорее, дошел бы до мысли научить клиента не падать при отсутствии аргумента у процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 18:31 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
YuRock, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 18:39 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
YuRock, "скриптом": это получить исходный текст и, пропарсив его, воткнуть в конец списка выходных параметров нужный мне??? Или меня не туда несет? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 18:42 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Mh7открывая каждую процедуру и компилируя её после редактирования? "Чо?" (с) У нормальных разработчиков процедуры (пере-)создаются скриптом, который лежит в СКВ. Текстовые редакторы умеют массовую автозамену. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 18:42 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Я не очень-то "нормальный" разработчик:) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 18:53 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Mh7> да нет, конечно BLR сам не напишеться, но хоть объявить эти параметры побыстрее... ОК, если с первого раза не получилось, попробуем со второго. Допустим, ты все правильно сделал, объявил (добавил) - что потом, что должно произойти, после изменения текста ХП и его компиляции? Mh7> Блин, но 70 процедур!!! Как уже подсказали - автоматизируй обработку текста ХП (если и там, где это возможно). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 19:43 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, авторчто потом, что должно произойти, после изменения текста ХП и его компиляции? Да ничего!!!:) Потом я буду последовательно в редакторе открывать эти процедуры, писать код получения данных для этих параметров (ибо он не всегда одинаков), и компилировать. Но мне уже не надо их объявлять!!!:) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 22:38 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Mh7, рука лицо ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 22:43 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Симонов Денис, объясните. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 23:51 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Mh7, кстати, при всём этом геморрое с АВТОМАТИЧЕСКи создаваемыми процедурами возникает резонный вопрос - нафиг они вообще нужны? Работал я в конторе, и для одного проекта там отчеты делались процедурами. Когда количество процедур стало около 30-40, стало ясно, что управлять этим совершенно невозможно. В результате процедурам был дан отбой, и было создано приложение, которое генерило отчеты (динамически создаваемый sql в приложении) по внешнему описанию из xml. Допустим, пресловутые "70 процедур" - это интерфейс к insert/update/delete разных таблиц. Ну тогда эти процедуры вообще генерятся АВТОМАТИЧЕСКИ. К слову, я вижу у вас нездоровое увлечение execute statement. Попробуйте представить, что его вообще не существует. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 00:20 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Mh7Я не очень-то "нормальный" разработчик:)Выгрузи их скопом в скрипт, автозамена, накатывание скрипта. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 09:10 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Mh7, да чего тут объяснять. Прямая модификация системных таблиц запрещена в 3.0. В 2.5 это пропускалось, но за это расстреливать надо, ибо не факт что будет работоспособно да и вообще можно убить БД. Нормальный путь собрать себе PSQL процедуру/функцию (или вообще на клиентской стороне), которая будет генерировать болванку скрипта для создания ХП с нужными параметрами и пустым телом процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 09:27 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
kdv, Да нет у меня никаких АВТОМАТИЧЕСКИ создаваемых процедур!!! Ещё раз: надо добавить N параметров в M процедур, смущает, что лезу в системную таблицу, "руками" не охота, всё!!! И про "нездоровое увлечение execute statement" вообще не понял... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 10:08 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Симонов Денис, да, спасибо что ответили. У нас 2.5, но я не сторонник bad practice, так что послушаю вас. Спасибо ещё раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 10:11 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Mh7, я же тебе рассказал про нормальный путь. Ну и к слову. В IBExpert есть возможность типовые болванки ХП делать для ISNERT/UPDATE/DELETE таблиц ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 10:12 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Симонов Денис, у меня не надо создавать процедуру с пустым телом. Процедуры уже есть, с не пустым телом. Хотелось добавить выходной параметр во все эти процедуры "автоматом", код для получения данных в этот выходной параметр я уже сам, "ручками", допишу. Ладно, ребят, давайте закроем тему: нельзя, так нельзя, я ответ получил на свой вопрос. Всех с Наступающим! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 10:27 |
|
INSERT INTO RDB$PROCEDURE_PARAMETERS
|
|||
---|---|---|---|
#18+
Mh7Хотелось добавить выходной параметр во все эти процедуры "автоматом" 1. Открываешь эксперт. 2. Выгружаешь требуемые процедуры в скрипт 3. Любым текстовым редактором с возможностью автозамены (сам эксперт это умеет) вместо ключевой фразы "create or alter procedure" ставишь "create or alter procedure <СПИСОК ПАРАМЕТРОВ>". либо перед фразой ")returns (" ставишь свое "<СПИСОК ПАРАЕТРОВ>)returns (" 4. Скармливаешь скрипт исполнятору скриптов (эксперт это тоже умеет). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 12:44 |
|
|
start [/forum/topic.php?fid=40&msg=39754131&tid=1560861]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
84ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 302ms |
total: | 487ms |
0 / 0 |