webForumDet fria alternativet

hjälp! lagrad procedur

3 svar · 480 visningar · startad av jonsson86

jonsson86Medlem sedan apr. 200716 inlägg
#1

Hejsan,

Jag har en databas (SS 2005) med tillhörande tabeller och en webbsida. Det är ett bokningssystem och när jag lägger till data så ska även datum läggas till när posten lades till då genom att använda datetime. Jag vill att varje datum ska vara unik ex. YYYY-MM-DD:0001,YYYY-MM-DD:0002 osv. Detta har jag tänkt att göra via en lagrad procedur men jag vet ej hur jag ska gå tillväga och tänka i detta fall. Skulle vara glad för att få tips/vägledning.

Vänligen,

Nicklas

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Definera en kolumn med attributet identity. Då kommer SQL server att lagra ett unikt löpnummer vid varje insert. Om du vill lagra aktuell tidpunkt vid insert använd funktion getdate().

freddykMedlem sedan okt. 2006103 inlägg
#3

getDate() lagrar dessutom datum ned på sekund-nivå så det är bra för det du beskriver.

jonsson86Medlem sedan apr. 200716 inlägg
#4

lösning

LarsG: Jag kan köra identity för att göra varje rad(insert) unik men jag ville mer göra datumet unikt även om raden är unik.

Löste det på annat sätt genom att använda mig av en lagrad procedur men jag vill istället endast lägga till ett unikt nummer efter datumet om exakt samma datum existerar i en tabell:

--Drop proc if exists
DROP PROCEDURE sp_Resources
GO
--use database
USE jnbs
GO
--Create procedure
CREATE PROCEDURE sp_Resources
AS
SELECT isnull (max(bookingid), (convert(char(8),getdate(),112))+'0000')+1 as [Datetime]
FROM Booking
WHERE left(bookingid,8) = convert(char(8),getdate(),112)
GO
136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)