Problema con foreign key

lunedì 18 dicembre 2006 - 10.12

contiello Profilo | Senior Member

Salve ragazzi ho un piccolo problema che vorrei porvi...

il mio problema riguarda l'inserimento di due record all'interno di un db SqlServer

i due record sono in relazione, in particolare il secondo ha una foreign key che lo lega la primo

ora veniamo al problema la prima tabella ha la chiave primaria(id) che è un intero di tipo contatore composta dai seguenti campi

Id
Descrizione

la mia insert sarà del tipo

INSERT INTO TABELLA1 (descrizione) VALUES ('prova testo')

ometto il campo id in quanto essendo contatore mi verrà valorizzato in automatico

a questo punto devo inserire il record della tabella 2 così composta:

ID
DESCRIZIONE
LINK_ID_TABELLA1

la mia insert sarà del tipo

INSERT INTO TABELLA2 (descrizione,link_id_tabella1) VALUES ('prova testo tabella 2',idrecordtabella1)

come faccio subito dopo la prima insert a recuperare il valore della chiave primaria per la foreign key(idrecordtabella1)?

non posso effettuare una select sul campo descrizione in quanto questa puo' assumere lo stesso valore per record diversi

spero di essere stato chiaro

un saluto

Cteniza Profilo | Guru

Se si tratta di sql server puoi inviare dopo l'insert un comando:
SELECT @@IDENTITY
Che restituisce l'ultimo id inserito per la tua connessione
Se hai lanciato una stored procedure utilizza invece
SELECT scope_identity()

contiello Profilo | Senior Member

ho provato con SELECT @@IDENTITY ma mi restituisce sempre -1
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5