powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / передача параметров при Update on Function (PostgreSQL)
4 сообщений из 4, страница 1 из 1
передача параметров при Update on Function (PostgreSQL)
    #32907138
alessia24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
привет сподвижникам по sql u всяким таким программным делам.
Я хочу показать вам одну функцию которая почему то не выполняет UPDATE.

1Create or Replace Function update_dialerc()
2 Returns trigger
3 AS '
4 Declare
5 row text;
6 Begin
7 If New.dialerc IS Not Null Then
8 row := ''code'' || New. dialerc;
9 Raise Notice '' row=%'' , row;
10 Update projekt_nkl_daten Set row = row + 1
11 Where id = New.id;
12 Else
13 Raise Notice '' dialerc=%'', New.dialerc;
14 End if;
15 Return New;
16 End;

переменная row в строчке 10 почему то не передает в update полученное ей в
строчке 8 значение.
Если кто-нибудь может помочь - я буду очень благодарна.
...
Рейтинг: 0 / 0
передача параметров при Update on Function (PostgreSQL)
    #32907808
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. По слову
alessia24
2 Returns trigger

догадываемся, что это триггер, но не знаем, BEFORE он или AFTER и на какую таблицу!!!
по поведению - догадываемся, что, вероятно BEFORE, и именно на projekt_nkl_daten. В этом случае "последний" апдейт произойдет по тому NEW, который вы вернете (т.е. вам надо вместо
Код: plaintext
 10                           Update projekt_nkl_daten Set row = row +  [b]1  [/b]
написать
Код: plaintext
New.row  = row +  1 
(кстати интересный метод конкатенации строк)

если догадки неверны, то опишите ситуацию подробнее.
...
Рейтинг: 0 / 0
передача параметров при Update on Function (PostgreSQL)
    #32907853
alessia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CREATE OR REPLACE FUNCTION update_dialerc()
RETURNS trigger
AS '
DECLARE
col text;
BEGIN
IF NEW.dialerc IS NOT NULL THEN
col := ''code'' || NEW.dialerc;
RAISE NOTICE ''col=%'', col;
EXECUTE ''UPDATE projekt_nkl_daten SET '' || col || '' = '' || col || '' + 1 WHERE id = '' || NEW.id;
ELSE
RAISE NOTICE ''dialerc=%'', NEW.dialerc;
END IF;
RETURN NEW;
END;
' LANGUAGE 'plpgsql';


Ja naschla oschibku! moget komu-to budet i interesno snat` kak peredawat`4eres String naswanije Stolbikow;-)))
...
Рейтинг: 0 / 0
передача параметров при Update on Function (PostgreSQL)
    #32907927
alessia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем:-) Большое спасибо за попытку помочь , просто проблема состояла ж том , что при наличии постоянно меняющихся значений, тех что я записывала в String "row" или "col" соединяя только части различных String, етот String в итоге нёс ж себе название столбца(не его значение), а значение в этом столбце должно било просто увеличиться на 1. Вот такая вроде простая , но задачка:-))
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / передача параметров при Update on Function (PostgreSQL)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]