我寫了一個SQL查詢,確保文件名在表中是唯一的。如果傳遞的參數是NULL
,那麼在檢查之前這被分配一個隨機值。反正有沒有進一步「壓縮」這個SQL查詢?
這裏是我的代碼:
SET @FileName=REPLACE(ISNULL(@FileName, dbo.fn_String_GenerateRandom(NEWID(), 10)), ' ', '-')
DECLARE @i int,@FileNameCheck nvarchar(200); SELECT @i=2, @[email protected]
WHILE (SELECT COUNT(*) FROM [eJournals] WHERE [FileName][email protected]) > 0
BEGIN
SELECT @FileNameCheck = @FileName + '-' + CAST(@i as nvarchar(3)), @[email protected]+1
END
SET @FileName = @FileNameCheck
反正是有這個壓縮到更小的行?
它,但具有到位不使這個SQL查詢自動發生的(?我不認爲),它會拋出一個我相信的約束錯誤? – Curt 2011-02-24 11:23:51
你爲什麼需要這樣做? – 2011-02-24 11:41:59