Autor Wątek: Blokada wprowadzania duplikatu symbolu u dostawcy  (Przeczytany 2107 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline nienacko

  • Nowy użytkownik
  • *
  • Wiadomości: 37
  • Reputacja +0/-0
  • Wersja programu: N1.47
Blokada wprowadzania duplikatu symbolu u dostawcy
« dnia: Kwiecień 18, 2016, 18:47:50 »
Witam,

być może komuś się przyda takie rozwiązanie.
Napisane w przerwie na kawę, ale działa  :)
Zapytanie należy wykonać do bazy, warto więc wcześniej zrobić sobie kopię zapasową  ;)

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO


/*Trigger kontrolujący czy przy dodawaniu lub edycji towaru nie wprowadzono duplikatu symbolu towaru u dostawcy*/
CREATE TRIGGER [dbo].[tr_TwTowar_dup_symb_dost] ON [dbo].[tw__Towar]
FOR INSERT
,UPDATE
AS
BEGIN
DECLARE @symbol VARCHAR(20)

SELECT @symbol = tw_DostSymbol
FROM inserted

IF (@symbol != '')
BEGIN
DECLARE @powt INT

SELECT @powt = COUNT(*)
FROM tw__Towar
WHERE tw_DostSymbol = @symbol

IF (@powt - 1 >= 1)
BEGIN
RAISERROR (
'<msg>Błąd! Duplikat symbolu towaru u dostawcy (zakładka Parametry)</msg>'
,16
,1
)
END
END
END

GO
« Ostatnia zmiana: Kwiecień 19, 2016, 07:39:26 wysłana przez nienacko »

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17072
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Blokada wprowadzania duplikatu symbolu u dostawcy
« Odpowiedź #1 dnia: Kwiecień 18, 2016, 19:00:00 »
Nie można dodać drugiego towaru/usługi/opakowania bez symbolu u dostawcy. Nie ma informacji jaki towar już posiada powtórzony symbol u dostawcy. Skąd i po co wziął się "ROLLBACK" ?
Daniel, Białystok.

Offline nienacko

  • Nowy użytkownik
  • *
  • Wiadomości: 37
  • Reputacja +0/-0
  • Wersja programu: N1.47
Odp: Blokada wprowadzania duplikatu symbolu u dostawcy
« Odpowiedź #2 dnia: Kwiecień 18, 2016, 19:20:09 »
Nie można dodać drugiego towaru/usługi/opakowania bez symbolu u dostawcy. Nie ma informacji jaki towar już posiada powtórzony symbol u dostawcy. Skąd i po co wziął się "ROLLBACK" ?

Faktycznie, błąd z pustym polem zauważyłem już po dodaniu posta, co do Rollbacka to też działa bez niego :)


W pierwszym poście zamieszczam poprawione zapytanie.
Próba wpisania duplikatu symbolu, poskutkuje nam eleganckim błędem


Forum Użytkownikow Subiekt GT

Odp: Blokada wprowadzania duplikatu symbolu u dostawcy
« Odpowiedź #2 dnia: Kwiecień 18, 2016, 19:20:09 »