StevePMedlem sedan mars 2003772 inlägg CREATE PROCEDURE spLCPPhotosMainNew
AS
Declare @Position Varchar(150)
Set @Position = Null
SET NOCOUNT ON
INSERT INTO TblContacts
(
Position
)
VALUES
(
@Position
)
SELECT @@IDENTITY AS NewID
GO
ContactID är Autonumber i denna tabellen så ett nytt ContactID kommer skapas automatiskt.
Vad jag vill göra är att sätta in en tom post i tabellen tblContacts och spara det nya ContactID't som skapas i en Variabel kallad @NewID för att sedan göra en ytterligare Insert i en annan tabell och stoppa in @NewID i en kolumn.
Hur skulle detta se ut ?
@ndersMedlem sedan juni 200032 969 inlägg Något sånt här:
CREATE PROCEDURE spLCPPhotosMainNew
AS
[b]Declare @Position Varchar(150),
@NewID int[/b]
Set @Position = Null
SET NOCOUNT ON
INSERT INTO TblContacts
(
Position
)
VALUES
(
@Position
)
[b]SELECT @NewID = @@IDENTITY[/b]
GO
Sedan borde det bara vara att använda @NewID i proceduren.
Mvh
StevePMedlem sedan mars 2003772 inlägg Ok och hur gör jag nästa insert i samma procedure? Måste jag köra en END innan jag går på nästa insert?
StevePMedlem sedan mars 2003772 inlägg Såhär kanske?
CREATE PROCEDURE spLCPPhotosMainNew
AS
Declare @Position Varchar(150),
@NewID int
Set @Position = Null
SET NOCOUNT ON
INSERT INTO TblContacts
(
Position
)
VALUES
(
@Position
)
SELECT @NewID = @@Identity
Insert into tblLCPContactDetails (ContactID, LCPCode) Values (@NewID, 'None')
Insert into tblContactPictures (ContactID) Values(@NewID)
GO
StevePMedlem sedan mars 2003772 inlägg Det fungerar inte.. den gör inte dom andra 2 insertsen.
StevePMedlem sedan mars 2003772 inlägg Så här blev bättre
Declare @Position Varchar(150),
@NewID int
Set @Position = Null
SET NOCOUNT ON
INSERT INTO TblContacts
(
Position
)
VALUES
(
@Position
)
SELECT @NewID = Max(ContactID) from tblContacts
Insert into tblLCPContactDetails (ContactID, LCPCode) Values (@NewID, 'None')
Insert into tblLCPContactPictures (ContactID) Values(@NewID)
GO
StevePMedlem sedan mars 2003772 inlägg Det är nog iofs säkrare att använda sig av scope_identity() ifall nån annan kör igång SP'n exakt samtidigt.
SELECT @NewID = scope_Identity()