Questione : Come fa l'occhiata di I ed inserire il valore chiave straniero in una tabella quando passa un valore variabile dalla colonna differente nella tabella relativa?

Posporre A contiene i campi: [Nome] varchar, [AlphaNumber] quanto numerico e [SiteCode] come varchar. I dati in questa tabella sono statici.  AlphaNumber è la chiave primaria in Tabella A. Sto seguendo una procedura immagazzinata per popolare la casella combinata su una forma e per visualizzare il campo [nome] all'operatore dalla Tabella A.  Tutti i dati digitati sulla forma saranno inseriti nella tabella B.

Table B contengono il campo [ValidOPId] come numerico e sono la chiave straniera relativa al campo [di AlphaNumber] nel
della Tabella A.
finora, ho redatto questi procedura immagazzinata e dati con successo inseriti per posporre la B (senza la forma). procedura del

ALTER [dbo]. [spLocal_InsertValidationData]
@TagName Varchar (50), datetime del
@ValidTime,
@Value reale,
@Reason1 varchar (50),
@Reason2 varchar (50),
@Reason3 varchar (50),
@Reason4 varchar (50),
@Comments varchar (50),
@ValidOPId numerico,
@ValidAPMId numerico,
@ValidPMId numerico, punta del
@InterfaceFlag,
INSERT del
del bit

AS del
@OOSpecFlag in ValidationDetail

VALUES
(@TagName, @ValidTime, @Value, @Reason1, @Reason2, @Reason3, @Reason4, @Comments, @ValidOPId, @ValidAPMId, @ValidPMId, @InterfaceFlag,il

Return

Need del @OOSpecFlag) per modificare questa procedura per scrivere [nome] dalla casella combinata sulla forma si ritira per posporre la B [ValidOPId].   Dovere convertirlo di nuovo al numerico relativo [AlphaNumber] che corrisponde al nome selezionato nella casella combinata sulla forma in primo luogo.  

Can che aiutate?
class= del

Risposta : Come fa l'occhiata di I ed inserire il valore chiave straniero in una tabella quando passa un valore variabile dalla colonna differente nella tabella relativa?

Ci sono due sensi:
1) [preferibile] - in casella combinata della forma del HTML - fissare il valore della modifica di opzione come il AlphaNumber da TableA. Così, quando la forma presenta mai - trasmetterà il valore di opzione selezionata dalla casella combinata - così, passerà il AlphaNumber anziché testo visualizzato. Questo senso, la vostra procedura immagazzinata rimarrà come è.

2) Cambiare lo PS come:

ALTERARE la procedura [dbo]. [spLocal_InsertValidationData]
@TagName Varchar (50),
datetime del @ValidTime,
@Value reale,
@Reason1 varchar (50),
@Reason2 varchar (50),
@Reason3 varchar (50),
@Reason4 varchar (50),  
@Comments varchar (50),
@Name varchar (50),  
@ValidAPMId numerico,  
@ValidPMId numerico,
punta del @InterfaceFlag,
punta del @OOSpecFlag

AS
Dichiarare il @ValidOPId int
Selezionare il @ValidOPId = AlphaNumber a partire [TableA] dove [nome] = @Name

INSERIRE in ValidationDetail
VALORI
(@TagName, @ValidTime, @Value, @Reason1, @Reason2, @Reason3, @Reason4, @Comments, @ValidOPId, @ValidAPMId, @ValidPMId, @InterfaceFlag, @OOSpecFlag)
Altre soluzioni  
 
programming4us programming4us