|
execute, в таблице прописан скрипт, переменным присваиваются в функции типа
|
|||
---|---|---|---|
#18+
CREATE OR REPLACE FUNCTION dat.f_test1() RETURNS void AS $BODY$ declare varAmount numeric(15,6) := 0; varVolume numeric(15,6) := 0; varАrea numeric(15,2) := null; VarText varchar(255) := 'varАrea * varVolume'; begin varАrea := 3.62; varVolume := 4.12; --execute 'select $1 ' into varAmount using (varАrea * varVolume)::numeric; execute 'select '||(VarText) into varAmount; raise info '1.volume = %, varАrea = %, VarText = %, varAmount = %', varVolume, varАrea, VarText, varAmount; end $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION dat.f_test() OWNER TO postgres; ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 11:30 |
|
execute, в таблице прописан скрипт, переменным присваиваются в функции типа
|
|||
---|---|---|---|
#18+
KSerega, А в чем вопрос то??? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 13:48 |
|
execute, в таблице прописан скрипт, переменным присваиваются в функции типа
|
|||
---|---|---|---|
#18+
Maxim BogukKSerega, А в чем вопрос то??? Это было начало, он еще недоформулировал ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 14:46 |
|
execute, в таблице прописан скрипт, переменным присваиваются в функции типа
|
|||
---|---|---|---|
#18+
так ошибку выдает, ОШИБКА: столбец "varАrea" не существует LINE 1: select varАrea * varVolume ^ QUERY: select varАrea * varVolume CONTEXT: функция PL/pgSQL dat.f_test1(), строка 15, оператор EXECUTE ********** Ошибка ********** ОШИБКА: столбец "varАrea" не существует SQL-состояние: 42703 Контекст: функция PL/pgSQL dat.f_test1(), строка 15, оператор EXECUTE ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 15:55 |
|
execute, в таблице прописан скрипт, переменным присваиваются в функции типа
|
|||
---|---|---|---|
#18+
Попробуйте так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 07:30 |
|
execute, в таблице прописан скрипт, переменным присваиваются в функции типа
|
|||
---|---|---|---|
#18+
Так сработало, только я не знаю какие переменные там будут, в sybase asa сейчас сделано в таблицу поле RealVolume записывается скрипт типа: '((if @lvalue is null then isnull((nullif(isnull(@HValue,0),0)-@lvalue_live),0)/(@square_variant-@lsquare_live)*@S_i else isnull(@lvalue,@Quota1*@S_i) endif))' в процедуре выполняется execute immediate 'set _volume=' || @RealVolume, а в postgres не получается ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 08:54 |
|
|
start [/forum/topic.php?fid=53&msg=39724767&tid=1995523]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 144ms |
0 / 0 |