Ricerca
 Italiano (Italia) English (United States)
Register
Login
DotNetWork Forums
[SQL Express] Trigger per l'inserimento dati
Last Post 24 Dec 2009 08:34 by Hidden. 2 Replies.
Printer Friendly
Sort:
PrevPrev NextNext
You are not authorized to post a reply.
AuthorMessagesResolved

Posts:469

--
24 Dec 2009 07:34 
Salve a tutti, vi scrivo in quanto mi sto addentando un pò di più in sql server express e avrei bisogno di una mano per capire come fare una determinata operazione. Allora vi spiego la situazione:
Nella mia azienda un dipendente che viene inserito viene anche codificato come magazzino es io per la mia azienda sono il dipendente francesco e il magazzino francesco. Questo perchè ad ogni dipendente è affidato del materiale.
Pertanto io nel mio programma quando veniva inserito un nuovo dipendente inserivo i dati del nuovo dipendente nella tabella dipendenti e in più in automatico inserivo nella tabella magazzino un nuovo magazzino con il codice del dipendete.
Questa operazione fino ad ora l'ho fatta fare al programma.
Quindi per fare il tutto inviavo al server 2 query una per l'iserimento del dipendente e l'altra per l'inserimento del magazzino.
Però dopo aver scoperto i trigger penso che sia un'operazione che possa essere fatta direttamete dal server così da velocizzare il programma. Quindi io a livello di programma non dovrò più preoccuparmi di popolare la tabella Magazzini.
Ho fatto qualche ricerca in giro ma non ho capito come dovrei impostare la cosa
questo è un pezzo di codice che ho trovato e che ho adattato


GO
CREATE TRIGGER [dbo].[INSERISCI_ANA]
ON
[dbo].[DIPENDENTI]
INSTEAD OF INSERT
AS
BEGIN
DECLARE @id NVARCHAR;
DECLARE @desc NVARCHAR;
@id=?????????
@desc=???????
INSERT INTO [dbo].[MAGAZZINI] (ID_MAGAZZINO, DESCRIZIONE) VALUES (@id, @DESC)
END


Questa è più o meno la sintassi ma come faccio a dire al trigger quali sono i dati da inserire nel tabella magazzini? COme faccio a fargli capire che sono gli ultimio inseriti?
 
Grazie a tutti per il vostro aiuto

p.s. Per creare il trigger devo fare crea nuova query e poi salvarla ho c'è una procedura diversa? Il trigger si attiverà da solo o comunque dovrò richiamarlo io?

Posts:469

--
24 Dec 2009 08:09 

Forse penso di aver trovato un soluzione ma non capisco perchè mi restituisce un errore nel momento in cui la eseguo. Vi spiego cosa faccio.

Faccio crea nuova query con connessione corrente poi scrivo questo codice

GO
CREATE TRIGGER CONTROLLO
ON
[dbo].[DIPENDENTI]
INSTEAD OF INSERT
AS
BEGIN
DECLARE
@id NCHAR , @desc NVARCHAR ;
SELECT @id=ID_DIPENDENTE, @desc=COGNOME FROM INSERTED;
INSERT INTO [dbo].[MAGAZZINI] (ID_MAGAZZINO, DESCRIZIONE) VALUES (@id, @DESC)
END

dopo aver scritto il codice ripotato sopra faccio click sul pulsante Esegui
e dopo mi restituisce il seguente errore

Messaggio 8197, livello 16, stato 4, procedura CONTROLLO, riga 1 L'oggetto 'dbo.DIPENDENTI' non esiste o non è valido per questa operazione.



Quindi il mio problema è : Dove sto sbagliando?
Ho capito che INSERTED è una tabella virtuale formata da un solo record che è quello che viene inserito in quel momento. Ma comunque mi genera un errore. Forse non è la procedura per creare i trigger? Potreste aiutarmi per paicere.

Grazie a tutti.

Posts:469

--
24 Dec 2009 08:34 
Scusate ragazzi ho risolto il problema. Mi spiego il trigger è scritto correttamente.
la procedura è corretta. Quello che sbagliavo era che quando facevo click sul pulsante esegui non mi ero accorto che nella casella affianco era selezionato un altro database e non il mio database.

Grazie comunque. Problema risolto.
You are not authorized to post a reply.

Active Forums 4.1
       
Articoli Pubblicati
Ereditarietà applicata ai controlli
Creazione di una combobox che mostra immagini al posto del testo
2008/07/06 | Author: Andrea Zingoni
Miniguida alla OOP con il .NET Framework- Parte III
Un' importante eredità: l'ereditarietà
2009/02/08 | Author: Alberto De Luca
Bitmap, GDI+,Collections,Classes
Classes and objects to use GDI+ to draw some shapes
2009/06/06 | Author: Sabrina Cosolo
SQL Server 2000/2005 Manutenzione Database
Uso di DBCC ShowContig e di sys.dm_db_index_physical_stats
2007/08/05 | Author: Sabrina Cosolo
Getting started with WPF
A first look to the template base of a WPF project
2007/08/16 | Author: Sabrina Cosolo
Copiare dati fra Database con ADO.Net
Da Qui a Li e da Li a Qui usando OleDb e Access
2009/02/14 | Author: Sabrina Cosolo
Mixed Fry - General Purpouse classes (part 5)
Helper: Customized Exception and Composed Messages
2007/10/27 | Author: Sabrina Cosolo
SQL Server Base Notions (part 1)
How to create a database in SQL Server using SQL Management Studio
2008/03/09 | Author: Sabrina Cosolo
   Print     
Home|Community|Contenuti|Forums|Blogs|Workshops
© 2007-2010 by DotNetWork .:. Terms Of Use .:. Privacy Statement .:. Login .:.