Sætte 0 ved null værdi fungerer ikke
Hej jeg har nedenviste stored procedure.Hvad jeg vil opnå; Den henter rankOrder ud - hvis der ingen rækker findes skal den sætte @num = 1 når der indsættes række. Hvis der findes rækker, skal den sætte @num til at være 1 højere end antallet af rækker.
Den sidste del går godt...Hvis der findes rækker i tabellen tilføjer den den nye række med rankOrder til at være et nummer højere end antal rækker....Men hvis der ikke findes rækker i tabellen sætter den rankOrder (@num) til at være null.....Det skulle være 1, den skulle sætte i stedet.
Håber nogen kan hjælpe mig.
mvh
simsen :-)
Min stored procedure:
ALTER PROCEDURE [dbo].[XXTestBugViewXX]
@bugViewTypeId AS INTEGER,
@bugViewColumnId AS INTEGER,
@UserId AS NVARCHAR(MAX)
AS
BEGIN
DECLARE @v_bugViewId AS INTEGER
DECLARE @num AS INTEGER
SET @v_bugViewId = 0
SET @num = 0
BEGIN TRANSACTION
BEGIN TRY
BEGIN
SELECT @num = MAX(rankOrder)
FROM Ansibug_BugView
WHERE UserId = @UserId AND bugViewTypeId = @bugViewTypeId
IF @num = NULL
BEGIN
SET @num = 0
END
SET @num = @num + 1
INSERT INTO AnsiBug_BugView (bugViewTypeId, bugViewColumnId, UserId, rankOrder)
VALUES (@bugViewTypeId, @bugViewColumnId, @UserId, @num)
SET @v_bugViewId = @@IDENTITY
END
COMMIT TRANSACTION
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
END CATCH
SELECT @v_bugViewId AS bugViewId
END