Hallo!
Ich versuche nun seit über einer Stunde ein SP für den SQL Server zu schreiben.
Die SP soll eine Url in die Datenbank eintragen oder aktualisieren wenn diese schon darin steht und mir in beiden Fällen die UrlID zurückliefern, weil ich diese noch weiterverarbeiten will.
Der Code sieht momentan so aus:
Die Datenbank sieht so aus:
Das mit der SELECT ... @@Identity Anweisung haut auch nicht hin. Als Antwort bekomme ich immer DBNull zurück. Im IF Part habe ich ein ähnliches Statement gar nicht erst hin bekommen.
Ich hoffe mir kann jemand helfen. Wenn jemand einen Tip für ein gutes Buch über das erstellen von SP hat wäre ich auch dankbar.
Gruß
Miathan
Ich versuche nun seit über einer Stunde ein SP für den SQL Server zu schreiben.
Die SP soll eine Url in die Datenbank eintragen oder aktualisieren wenn diese schon darin steht und mir in beiden Fällen die UrlID zurückliefern, weil ich diese noch weiterverarbeiten will.
Der Code sieht momentan so aus:
Code:
CREATE PROCEDURE IncrementUrl
(
@PortalID int,
@Url nvarchar(250),
@UrlID int OUTPUT
)
AS
SELECT
*
FROM
Statistic
WHERE
Url=@Url
AND
PortalID=@PortalID
/* only insert if the record doesn't yet exist */
IF @@Rowcount < 1
INSERT INTO Statistic
(
PortalID,
Url
)
VALUES
(
@PortalID,
@Url
)
ELSE
UPDATE Statistic
SET Counter = Counter + 1
WHERE
Url=@Url
AND
PortalID=@PortalID
SELECT
@UrlID = @@Identity
GO
Die Datenbank sieht so aus:
Code:
CREATE TABLE [dbo].[Statistic] (
[UrlID] [int] IDENTITY (0, 1) NOT NULL ,
[Url] [nvarchar] (250) COLLATE Latin1_General_CI_AS NOT NULL ,
[PortalID] [int] NOT NULL ,
[Counter] [int] NOT NULL
) ON [PRIMARY]
Das mit der SELECT ... @@Identity Anweisung haut auch nicht hin. Als Antwort bekomme ich immer DBNull zurück. Im IF Part habe ich ein ähnliches Statement gar nicht erst hin bekommen.
Ich hoffe mir kann jemand helfen. Wenn jemand einen Tip für ein gutes Buch über das erstellen von SP hat wäre ich auch dankbar.
Gruß
Miathan