Hej, undrar om någon kan se om det finns en bättre lösning på detta? Har 2 tabeller i detta scenariot, egentligen fler men tar bara med de 2 första då de andra ska updateras på samma sätt. Första tabellen ska bara ha nya värden till kolumnerna intOrdning och vcharBenamning, de andra ska ha utöver detta oxå ha värdet på id´t från förra tabellen(föregående INSERT) osv. detta för att värdena ska visas i nivåer i en TreeView. Har alltså 2 problem: intOrdning ska få högsta värdet i kolumnen + 1 och tblInkStatusTyp.intHuvudStatusID(ej for.key) ska få värdet från tblInkHuvudStatus.intHuvudStatusID(pri.key)! Nedan visas vart jag är på väg..medveten om att uppdateringen av intOrdning är helt fel(kan man göra något fiffigt med @@IDENTITY?), men som sagt så söker jag en lösning på detta. Mina t-sql kunkaper är inte enorma som ni kommer att de! Tacksam för hjälp..t-sql INSERT problem..
CREATE PROCEDURE Ink_addCompleteChain
@hsName As varchar(50),
@stName As varchar(50),
@hkName As varchar(50),
AS
SET NOCOUNT ON
DECLARE @cntHS Int
DECLARE @cntST Int
DECLARE @cntHK Int
DECLARE @hsId Int
SELECT @cntHS = COUNT(intOrdning) FROM tblInkHuvudStatus
BEGIN TRAN
INSERT INTO tblInkHuvudStatus(intOrdning, vcharBenamning) VALUES (@cntHS + 1,@hsName)
/*SELECT @@IDENTITY AS 'Identity' (tänkte använda för att lägga in i nästa tbl på något vis)*/
COMMIT TRAN
SELECT @hsId = intHuvudStatusID FROM tblInkHuvudStatus WHERE intOrdning = @cntHS+1 AND vcharBenamning = @hsName
SELECT @cntST = COUNT(intOrdning) FROM tblInkStatusTyp
BEGIN TRAN
INSERT INTO tblInkStatusTyp(intHuvudStatusID, intOrdning, vcharBenamning) VALUES (@hsId, @cntST+1, @stName)
COMMIT TRAN
GO