StevePMedlem sedan mars 2003772 inlägg Jag verkar inte få köra ett case i inserten, problemet är i BOLD.
CREATE PROCEDURE spLCPFiles_Insert1
@ContactID INT,
@OpenDate DATETIME,
@Client INT,
@SubCode Char(2),
@FileType INT
AS
Declare
@Sequence INT
BEGIN
SET NOCOUNT ON
BEGIN TRANSACTION
SELECT @Sequence = coalesce(max(Sequence),0) + 1
From tblLCPFiles
with (HoldLock)
Where
OrgID = @Client And FileTypeID = @FileType And SubCode = @SubCode
INSERT INTO TblLCPFiles
(
ContactID,
OpenDate,
OrgID,
SubCode,
FileTypeID,
Sequence
)
VALUES
(
@ContactID,
@OpenDate,
@Client,
@SubCode,
@FileType,
[b]Case
when Sequence is Null
then @Sequence
Else Sequence
end[/b]
)
SELECT @@IDENTITY AS NewID
COMMIT
END
GO
StevePMedlem sedan mars 2003772 inlägg Det verkade iofs räcka att enbart använda @sequence.
Jag som tänkte fel
CREATE PROCEDURE spLCPFiles_Insert1
@ContactID INT,
@OpenDate DATETIME,
@Client INT,
@SubCode Char(2),
@FileType INT
AS
Declare
@Sequence INT
BEGIN
SET NOCOUNT ON
BEGIN TRANSACTION
SELECT @Sequence = coalesce(max(Sequence),0) + 1
From tblLCPFiles
with (HoldLock)
Where
OrgID = @Client And FileTypeID = @FileType And SubCode = @SubCode
INSERT INTO TblLCPFiles
(
ContactID,
OpenDate,
OrgID,
SubCode,
FileTypeID,
Sequence
)
VALUES
(
@ContactID,
@OpenDate,
@Client,
@SubCode,
@FileType,
@Sequence
)
SELECT @@IDENTITY AS NewID
COMMIT
END
GO
StevePMedlem sedan mars 2003772 inlägg Nej förresten.
Om Sequence är "Null" så ska den plussa på ett, alltså använda @sequence annars ska den använda samma värde som sequence returnerade. Alltså om den inte är null så ska den använda max(sequence) annars ska den använda @sequence
CREATE PROCEDURE spLCPFiles_Insert1
@ContactID INT,
@OpenDate DATETIME,
@Client INT,
@SubCode Char(2),
@FileType INT
AS
Declare
@Sequence INT
BEGIN
SET NOCOUNT ON
BEGIN TRANSACTION
SELECT @Sequence = coalesce(max(Sequence),0) + 1
From tblLCPFiles
with (HoldLock)
Where
OrgID = @Client And FileTypeID = @FileType And SubCode = @SubCode
INSERT INTO TblLCPFiles
(
ContactID,
OpenDate,
OrgID,
SubCode,
FileTypeID,
Sequence
)
VALUES
(
@ContactID,
@OpenDate,
@Client,
@SubCode,
@FileType,
[b]Case
when Sequence is Null
then @Sequence
Else Sequence
end[/b]
)
SELECT @@IDENTITY AS NewID
COMMIT
END
GO
LarsGMedlem sedan dec. 200012 464 inlägg SELECT @Sequence = max(Sequence) + 1
From tblLCPFiles
with (HoldLock)
Where OrgID = @Client
And FileTypeID = @FileType
And SubCode = @SubCode
INSERT INTO TblLCPFiles
(
ContactID,
OpenDate,
OrgID,
SubCode,
FileTypeID,
Sequence
)
VALUES
(
@ContactID,
@OpenDate,
@Client,
@SubCode,
@FileType,
Coalesce(@Sequence,1)
)