Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Базы данных > PostgreSQL
Перезагрузить страницу Ошибка при работе триггера как исправить
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Diplom@t Diplom@t вне форума
Member
 
Сообщений: 42
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.01.2006
По умолчанию Ошибка при работе триггера как исправить - 02.11.2006, 20:07

Помогите. Делаю триггер так:

Код:
CREATE TABLE Providers (
Id integer PRIMARY KEY,
Name t_name,
Address t_adress
);


--DROP TABLE log_Providers;
CREATE TABLE log_Providers (
    uname char(30),
    oper char(6),
    date date,
    o_id integer,
    o_name t_name,
    o_adress t_adress,
    n_id integer,
    n_name t_name,
    n_adress t_adress
);

--DROP FUNCTION trigger_Providers_Func() CASCADE;
CREATE OR REPLACE FUNCTION trigger_Providers_Func() RETURNS trigger AS $$
BEGIN
    IF TG_OP='INSERT' THEN
        INSERT INTO log_Providers VALUES (
            CURRENT_USER,TG_OP,'01.01.2001',
            '','','',
            NEW.id,NEW.name,NEW.address
        );
        RETURN NEW;
    END IF;
    
    IF TG_OP='UPDATE' THEN
        INSERT INTO log_Providers VALUES (
            CURRENT_USER,TG_OP,'01.01.2001',
            OLD.id,OLD.name,OLD.address,
            NEW.id,NEW.name,NEW.address
        );
        RETURN NEW;
    END IF;

    INSERT INTO log_Providers VALUES (
        CURRENT_USER,TG_OP,'01.01.2001',
        OLD.id,OLD.name,OLD.address,
        '','',''
    );
    RETURN OLD;
END
$$ LANGUAGE plpgsql;

CREATE TRIGGER trigger_Providers 
BEFORE INSERT OR UPDATE OR DELETE ON Providers
FOR EACH ROW EXECUTE PROCEDURE trigger_Providers_Func();

Все компилит все ок. Но когда выполняю:

INSERT INTO providers VALUES (100,'Name100','Adress100');

выдает:

ERROR: invalid input syntax for integer: ""
KONTEXT: SQL statement "INSERT INTO log_Providers VALUES ( CURRENT_USER, $1 ,'01.01.2001', '','','', $2 , $3 , $4 )"
PL/pgSQL function "trigger_providers_func" line 3 at SQL statement


Подскажите, что не так?
Ответить с цитированием
  (#2 (permalink)) Старый
Гуменюк Роман Гуменюк Роман вне форума
Member
 
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.01.2006
По умолчанию 23.01.2007, 12:44

Вот ответ:
Код:
ERROR: invalid input syntax for integer: ""
Не может он понять что пустая строка это Integer
вставляй null хотябы
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как исправить ошибки в курсовой работе Верона Delphi 3 21.05.2011 16:45
как исправить ошибки при работе с DX9 DeniS1 Программирование графики 0 29.08.2008 22:25
Как исправить ошибки при работе с fscanf rusyan С/С++ 3 18.06.2006 13:35
Как исправить ошибки при работе с контролами Mr. Пронька Мысли вслух 3 23.03.2006 14:11
Как исправить ошибки при работе с z-index Monah IRH DHTML, JavaScript, VBScript 14 23.02.2006 22:30
Как исправить ошибки при работе в Web камерой winer Symbian 0 13.08.2005 13:13
При работе с DataModule появляется ошибка как исправить ее Laime-oz C++ Builder 2 29.04.2005 19:28
Как исправить ошибки при работе с jdb euer85 Java 1 13.10.2004 04:43
Ошибка при создании триггера в Interbase6 Student Delphi 1 05.03.2004 23:04
WebSnap+dbExpress появляются проблемы при работе как их исправить Anonymous Delphi 0 26.11.2003 19:10
При работе с файлами появляется ошибки как исправить Anonymous С/С++ 2 20.10.2003 22:21
Как исправить ошибки при работе с Windoze Avalon_de_Loren С/С++ 0 28.07.2003 16:13



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов