Idnar Skrevet 23. mars 2010 Del Skrevet 23. mars 2010 Jeg har en trigger i databasen min som gikk greit å lage til. Den skal når jeg setter inn nye data i tabellen oppdatere ett felt i to andre tabeller (instead of Insert så insert) Men når jeg setter inn nye data i tabellen får jeg feilmelding Error Source: Net SqlClient Data Provider. Error Message: Invalid Objectname 'updated' Hva betyr denne feilmeldingen og hvordan kan jeg få den bort? Lenke til kommentar
kaffenils Skrevet 23. mars 2010 Del Skrevet 23. mars 2010 Regel nummer 1: Hvis du trenger hjelp så vis oss koden (SQL Server triggeren) som du tror feiler. Det gjør ting utrolig mye enklere enn om vi skal gjette oss frem til hva det er som feiler. 1 Lenke til kommentar
Idnar Skrevet 24. mars 2010 Forfatter Del Skrevet 24. mars 2010 Sorry, glemmer selvfølgelig det viktigste Her er sqlkoden til triggeren USE [Reisebyrå] GO /****** Object: Trigger [dbo].[AntallSeterReisende] Script Date: 03/09/2010 08:26:22 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER TRIGGER [dbo].[Plasseropptatt] ON [dbo].[Reisende] INSTEAD OF INSERT AS BEGIN DECLARE @BookingNr int DECLARE @MEN nchar(20) DECLARE @MFN nchar(20) DECLARE @PersNr nchar(11) DECLARE @Adr nchar(30) DECLARE @PNr char(4) DECLARE @FlyId int SELECT @BookingNr = (SELECT BookingNr) FROM inserted SELECT @MEN = (SELECT [Medreisendes Etternavn]) FROM Inserted SELECT @MFN = (SELECT [Medreisendes Fornavn]) FROM Inserted SELECT @PersNr = (SELECT PersonNr) FROM Inserted SELECT @Adr = (SELECT Adresse) FROM Inserted SELECT @PNr = (SELECT PostNr) FROM INSERTED SELECT @FlyId = (SELECT FlyId) FROM [dbo].[Reise] Where [dbo].[Reise].[bookingNr] = @BookingNr UPDATE [dbo].[Reise] set [Antall Reisende]= [Antall Reisende] + 1 WHERE [dbo].[Reise].[bookingNr] = @BookingNr DECLARE @AntallR int SELECT @AntallR = (SELECT [Antall Reisende]) FROM [dbo].[Reise].[Antall Reisende] UPDATE [dbo].[Fly] set [Antall Opptatte Seter] = [Antall Opptatte Seter] + @AntallR WHERE [dbo].[Fly].[FlyId] = @FlyId Insert into Reisende (BookingNr, [Medreisendes Etternavn], [Medreisendes Fornavn], PersonNr, Adresse, PostNr) Values (@BookingNr, @MEN, @MFN, @PersNr, @Adr, @PNr) END Lenke til kommentar
kaffenils Skrevet 24. mars 2010 Del Skrevet 24. mars 2010 (endret) Jeg ser ingen umiddelbare feil i triggeren, selv om jeg stusser over hvorfor du bruker en INSTEAD OF trigger i stedet for en AFTER trigger. Dessuten vil ikke triggeren din takle INSERTS av mer enn en rad om gangen. Enten er det definert triggere på de andre tabellene du refererer, eller så er det noe galt i .NET koden din, for det er den som gir deg feilmeldingen ser jeg. Kan du vise meg .NET koden som kjøre INSERT INTO reisende? Edit: Nå ser jeg hvorfor du bruker en INSTEAD OF trigger: @FlyId, Endret 24. mars 2010 av kaffenils 1 Lenke til kommentar
Idnar Skrevet 24. mars 2010 Forfatter Del Skrevet 24. mars 2010 hvor finner jeg .NET koden? Lenke til kommentar
kaffenils Skrevet 25. mars 2010 Del Skrevet 25. mars 2010 hvor finner jeg .NET koden? Er det ikke dere som har laget klienten (den som gir feilmeldingen)? 1 Lenke til kommentar
Idnar Skrevet 25. mars 2010 Forfatter Del Skrevet 25. mars 2010 (endret) Holder på med databasen i ms sql server managment studio express 2005, men har ikke laget noen .Net kode? Kom litt lenger idag, fjernet alt utenom selve tabellene og relasjonene. Når jeg la innigjen triggeren fikk jeg legge til data i den opprinnelige tabellen, og det ble riktig oppdatert i den ene av de to andre tabellene som skulle oppdateres, mens i den andre er det litt rot, noen ganger blir det registrert, andre ganger ikke, og feil antall Endret 25. mars 2010 av Idnar Lenke til kommentar
Idnar Skrevet 26. mars 2010 Forfatter Del Skrevet 26. mars 2010 Da fikk jeg det til Tusen takk for hjelpen Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå