|
Как передать текст в функцию
|
|||
---|---|---|---|
#18+
Здравствуйте! Помогите кто-нибудь, разобраться с такой задачей. Есть функция f_test_upd Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
, которая имеет много аргументов разных типов, и функция f_test Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
с 1 аргументом типа текст, которая вызывает предыдущую. Я хотела передавать в нее аргументы одной строкой: SELECT public.f_test(''arg1', 'arg2', 'agr3', 4'::text); Эта запись, конечно же выдает синтаксическую ошибку, но если тут сделать без синт.ошибки (SELECT public.f_test('arg1, arg2, agr3, 4');), то на этапе выполнения функции f_test_upd будет такая ошибка. Код: plsql 1. 2.
Этот метод не работает из-за кавычек, я не смогла подставить одинарные кавычки в одинарные кавычки. В результате нужно, чтобы одна функция добавляла строку, а другая ее обновляла... Или надо как-то совсем по-другому делать? Аргументов в итоге будет около 25, которые нужно обновлять ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2018, 11:47 |
|
Как передать текст в функцию
|
|||
---|---|---|---|
#18+
Alewteena1, perform - это конструкция plpgsql. В sql её нет, потому execute, который хочет получить sql - не понимает, что вы от него хотите. Alewteena1Я хотела передавать в нее аргументы одной строкой: SELECT public.f_test(''arg1', 'arg2', 'agr3', 4'::text); Зачем? Передавайте какую-либо нормальную структуру. Композитного типа, или хотя бы json или hstore какой. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2018, 12:18 |
|
|
start [/forum/topic.php?fid=53&fpage=52&tid=1995674]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
others: | 277ms |
total: | 383ms |
0 / 0 |