ďťż
 
MSSQL + trigger dla INSERT ďťż
 
MSSQL + trigger dla INSERT
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

MSSQL + trigger dla INSERT



gervee - 15-03-2006 10:40
MSSQL + trigger dla INSERT
  Witam!
Chciałbym założyć na tabeli T1 trigger, który uaktualni dane w tabeli T2 po
insercie danych (lub uaktualnieniu danych w jakiejkolwiek z kolumn) do
tabeli T1. Tabela T1 (nazwa,wartosc,dataczas,jakosc) tabela T2 tak samo. W
tej chwili próbowałem trigger taki jak poniżej ale nie chce zadziałać. Jak
powinien wyglądać ten trigger?

CREATE TRIGGER trgLastValues ON [dbo].[T1]
INSERT
AS
BEGIN
UPDATE [dbo].[T2]
SET [dbo].[T2].nazwa=nazwa,
[dbo].[T2].wartosc=wartosc,
[dbo].[T2].dataczas=dataczas
WHERE [dbo].[T2].nazwa LIKE "obiekt1.parametr1"

PRINT "Wykonano"
END

Rafał





LQ - 15-03-2006 10:40

  "FOR INSERT"
co to objekt.... w ostatniej linijce? jaki error ci wywala




gervee - 15-03-2006 10:40

  Użytkownik " LQ" <lq@lq.lq> napisał w wiadomości
news:dv6rqp$9ns$1@nemesis.news.tpi.pl...
> "FOR INSERT"
> co to objekt.... w ostatniej linijce? jaki error ci wywala

To tylko na potrzeby zapytania na grupie dyskusyjnej. W rzeczywistości jest
tam tekst np. "kat2--slave.REGL6"
Błędów nie wywala ale też nie robi update'ów tabeli T2. Zobaczę jak po
Twojej radzie będzie wyglądać sytuacja.
Rafał




gervee - 15-03-2006 10:40

  Użytkownik "gervee" <gervee_nospam@o2.pl> napisał w wiadomości
news:dv6s8v$g7p$1@atlantis.news.tpi.pl...
> Użytkownik " LQ" <lq@lq.lq> napisał w wiadomości
> news:dv6rqp$9ns$1@nemesis.news.tpi.pl...
> > "FOR INSERT"
> > co to objekt.... w ostatniej linijce? jaki error ci wywala
>
> To tylko na potrzeby zapytania na grupie dyskusyjnej. W rzeczywistości
jest
> tam tekst np. "kat2--slave.REGL6"
> Błędów nie wywala ale też nie robi update'ów tabeli T2. Zobaczę jak po
> Twojej radzie będzie wyglądać sytuacja.
> Rafał
>
Znalazłem rozwiązanie, które działa i wygląda tak:

CREATE TRIGGER trgLastValues ON mt_logger
FOR INSERT
AS
declare @liczbaZmienionychWierszy int
declare @_value decimal
declare @_time datetime
declare @_name varchar(255)

SELECT @liczbaZmienionychWierszy=@@rowcount
if @liczbaZmienionychWierszy=1
BEGIN
select @_value = mt_value from inserted
select @_time = mt_time from inserted
select @_name = mt_name from inserted

UPDATE mt_last
SET
mt_value = @_value,
mt_time = @_time
WHERE mt_name LIKE @_name
END

Ponieważ inserty są pojedyncze więc bez problemu powinno działać.
Rafał





LQ - 15-03-2006 10:40

  > Ponieważ inserty są pojedyncze więc bez problemu powinno działać.

OK ale czym to sie rozni od poprzedniego ? ;) bo ja w sumie widze tylko to
FOR co podawałem
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Zdalny =?ISO-8859-2?Q?dost=EAp_do_MSSQL_bez_zarz=B1dzani?==?ISO-8859-2?Q?a?= [MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?= [MSSQL 2k] - jak =?ISO-8859-2?Q?pod=B3=B1czy=E6_serwer_na_?==?ISO-8859-2?Q?porcie_innym_ni=BF_1433=3F?= MSSQL Express czy Oracle Express MSSQL 2005 i uruchamianie procedury o =?ISO-8859-2?Q?okre=B6lone?==?ISO-8859-2?Q?j_godzinie?= [MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?= [MSSQL 2000] =?ISO-8859-2?Q?wywo=B3anie_procesu_z_poziomu_?==?ISO-8859-2?Q?job=27a?= [MSSQL 2K] =?ISO-8859-2?Q?Wp=B3yw_ustawie=F1_regionalnych_?==?ISO-8859-2?Q?serwera_na_zapytania?= Pobierananie danych z innej bazy danych w MSSQL Migracja MSSQL 2005 CTP na 2005 Express
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • morebeer.opx.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