ďťż
 
[pgsql] problem z trigerem ďťż
 
[pgsql] problem z trigerem
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[pgsql] problem z trigerem



TomaszB - 17-05-2006 00:40
[pgsql] problem z trigerem
  Witam
Od razu przyznam, ze to moj pierwszy triger.
Sprawa wyglada nastepujaco:
do bazy A musze dodac towary z bazy B, ktore w bazie A nie wystepuja.
Tabela w bazie A ma ustawione UNIQUE (id_tow) a id_tow w obu tabelach
sie powtarzaja.
Pomyslalem wiec o trigerze:
CREATE TRIGGER new_id_tow
AFTER INSERT
ON towary
FOR EACH STATEMENT (ROW)*
EXECUTE PROCEDURE new_id();

*-sprawdzilem obie opcje
Funkcja new_id():
CREATE OR REPLACE FUNCTION new_id()
RETURNS "trigger" AS
'begin
update towary
set id_tow = (select max(id_tow)+1 from A.towary)
where trim(id_tow) = ''0'';
return new;
end;'
LANGUAGE 'plpgsql' VOLATILE STRICT;

Do tego wszystkiego dodalem zapytanie:
insert into centrala.towary (
select
status, '0', (...)
from B.towary where status=0 and
trim(bar_kod_tow) not in (select trim(bar_kod_tow) from A.towary where
status = 0))

No i problem jest w tym, ze za kazdym razem jak wywolam zapytanie to
dostaje ERROR: duplicate key violates unique constraint "towary_id_tow_key"

Gdy wykonuje zapytanie dla jednego towaru to wszystko dzial jak trzeba.
Przy dwoch towarach juz mam blad.
Dlaczego tak? jak to poprawic?
Dzieki
Pozdrawiam
TomaszB





hubert depesz lubaczewski - 17-05-2006 00:40

  TomaszB wrote:
> Gdy wykonuje zapytanie dla jednego towaru to wszystko dzial jak trzeba.
> Przy dwoch towarach juz mam blad.
> Dlaczego tak? jak to poprawic?

http://www.depesz.com/index.php/2006...cze-go-nie-ma/

depesz

--
http://www.depesz.com/ - nowy, lepszy depesz
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= mysql i mysql-front, problem String line; if (line=="cos"){...}....problem Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?= [postgres] Problem z =?ISO-8859-2?Q?zmian=B1_struktury_i_z?==?ISO-8859-2?Q?ale=BFno=B6ciami=2E?= [oracle] =?ISO-8859-2?Q?zmia=BFd=BFony_przez_problem=3A_za?==?ISO-8859-2?Q?pytanie_do_hierarchi?= Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ] [MySQL] Problem z zapisem danych w bazie danych Problem z mysql - can't connect to MySQL/nietypowo... plik corel 11 na corel 8 = problem z otwarciem
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lisinski.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com