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 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 getDate() lagrar dessutom datum ned på sekund-nivå så det är bra för det du beskriver.
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