私は毎晩書き直されるテーブルを持っています。私は値のセットリストから乱数を入力する必要がある2つの列を持っています。角度欄には15,30,45,60,90が、距離には9,15,21がそれぞれ入力されている必要があります。挿入ステートメントは、最大700のレコードを処理できます。値のセットリストから乱数を含むSQL更新列
I次に(select top 1 val from @MyRandomVal1 order by newid()
)を使用
select 15 union
select 30 union
select 45 etc...
と一時テーブル(@MyRandomVal1
)を作成しようとしています。これにより、すべての行に対して同じ乱数で列が移入されます。私の研究では、ループが推奨されていないと読んだのですが、挿入された行をループする必要があるようです(select top 1 val from @MyRandomVal1 order by newid()
)。挿入中にセットリストから無作為抽出を700+行に移入する別の方法はありますか?
以下は、私の既存のコードです(アングルのみ)。 SQL Server 2012。
DECLARE @MyRandomVal1 Table (
id int identity (1,1),
val int not null)
INSERT INTO @MyRandomVal1 (val)
SELECT 15
union
SELECT 30
union
SELECT 45
union
SELECT 60
union
SELECT 90
INSERT INTO MyTable (AUTO_KEY,E3_KEY,EMPID,ENAME,COLOR,ANGLE)
SELECT dbo.getautokey(),dbo.GetAutoKey(),[EMPID],[ENAME],abs(checksum(NewId()) % 256),(select top 1 val from @MyRandomVal1 order by newid())
FROM MyTable2 WHERE [JOBLEVEL]='SVP'
ありがとう。
カーソルはどうですか? –
[SQLランダムネームジェネレータは同じ行に姓と名を挿入しない]の重複の可能性があります(http://stackoverflow.com/questions/31948717/sql-random-name-generator-not-inserting-first-and-last -name-in-the-same-row) – SMM
具体的にはhttp://stackoverflow.com/a/31951347/6490059がその質問に答えているようです。 – SMM