Jeasus Ierakstīts Janvāris 15, 2009 Share Ierakstīts Janvāris 15, 2009 (labots) tātad tabulā vēlos trigeri kas stradatu inserta vietaa, un parbauditu datus. ja dati neatbilst normām tad errors, ja atbilst tad veicam insertu. meistaram drosvien trivials gadijums, es netieku galaa ar manuaaliem. jautajums nr.1: kā lai count(id) skaitu dabuju @skaits mainigajaa? jautajums nr.2: kā lai tieku klat tam vertibam kas bij insert vaicajumaa kura vieta strada sis trigeris? CREATE TRIGGER insertEksponats ON eksponats INSTEAD OF INSERT AS DECLARE @skaits int; // select count(id) from tabula where lauks='konkreta vertiba no inserta vaicajuma kura vieta starda sis trigeris' // tad count rezultatu kautka iedabuu @skaits IF @skaits>0 BEGIN PRINT 'man kludas pazinojums' END ELSE BEGIN INSERT INTO eksponats(id, vertiba) VALUES(id,vertiba) //pietam shai te insertaa vajadzetu izpildit to insertu kura vieta nostradaa sis trigeris //vai vismaz ar tam apsaam vertibaam END paldies. Labots Janvāris 15, 2009 - Jeasus Link to comment Share on other sites More sharing options...
eMDiiPii Janvāris 16, 2009 Share Janvāris 16, 2009 MSSQL iebāž visus insert`a laukus virtuālā tabelē Inserted So . DECLARE @foobar VARCHAR(100) SELECT @foobar = (SELECT foobar FROM Inserted) 1 Link to comment Share on other sites More sharing options...
SQLBlog.lv Jūnijs 8, 2012 Share Jūnijs 8, 2012 Laicīgā atbilde . par trigeriem plašāk var palasīt šeit Trigeri SQL Server. ir inserted un deleted tabulas. Tev trigerī tad būtu jjāsien tabula ar "inserted" tabulu pēc primārās atslēgas laukiem. Tomēr ir vēl mazliet sarežģītāk- jāņem vērā, ka var ievietot uzreiz daudzas rindas, no kurām dažas var atbilst Tevis izvirzītajam kritērijam un dažas nē. un vispār šādi šo problēmu manuprāt labāk nerisināt.. tā vietā izmantot, piemēram, procedūru. Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!