我写了一个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