[英]How do I insert the output of these loops into my table?
Declare @PASS char(16)
Declare @COUNTER int
SET @COUNTER = 0
While @COUNTER < 2
begin
select @PASS =replace
(replace
(replace
(replace
(replace(
(select substring(@String, 1 + Number, 1)
from master..spt_values
where number < datalength(@String)
order by NEWID()
for xml path('')
), '<', '<')
,'>','>')
,'&','&')
,'"','''''')
,'&apos','''')
select @pass
set @counter = @counter + 1
end
根據您之前的問題,我認為您想生成多個密碼。
但是您不能將其存儲在一個變量中,因此請改用臨時表/表變量。
DECLARE @String NVARCHAR(MAX) =
N'abcdefghijkmnopqrstuvwxyz' + --lower letters
'ABCDEFGHIJKMNOPQRSTUVWXYZ' + --upper letters
'0123456789'+ --number characters
')[:|!@$&<';
CREATE TABLE #passwords(Id INT IDENTITY(1,1), pass NVARCHAR(100));
DECLARE @i INT = 0
,@pass_number INT = 20; -- max number of passwords
WHILE @i < @pass_number
BEGIN
SET @i += 1;
INSERT INTO #passwords(pass)
Select [pass] = CAST(replace
(replace
(replace
(replace
(replace(
(select
substring(@String, 1 + Number, 1)
from master..spt_values
where number < datalength(@String)
order by NEWID()
for xml path('') )
,'<', '<')
,'>','>')
,'&','&')
,'"','''''')
,'&apos','''') AS CHAR(16))
END
SELECT *
FROM #passwords;
你也可能想像這樣替換:
,'<', '<')
,'>','>')
,'&','&')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.