ストアドプロシージャについて
お世話になります。
SQLServseのストアドプロシージャで、あるテーブルのテストデータを100件ほど作成したいと思っています。
しかし、プロシージャを実行すると「プライマリキーが重複しています」とエラーが出ます。
テーブル内にはすでにCODE='0001'と'0101'の2件が存在します。そのため挿入開始コードは'0002'としたのですが・・・。まだ同じエラーが発生します。
テーブル名:MST_USER
CODE char(4) ←キー
KBN char(2)
NAME varchar(40)
PASS varchar(10)
作成したプロシージャ
CREATE PROCEDURE dbo.test_update_USER AS
declare @count int
declare @kbn int
set @count = 2
set @kbn = 0
while 1 = 1
begin
update MST_USER
set CODE = right('0000' + ltrim(str@count)), 4),
KBN = right('00' + ltrim(str(@kbn)), 2),
NAME = 'test' + ltrim(str(@count)),
PASS = 'test' + ltrim(str(@count))
set @count = @count + 1
if (@count > 100)
break
if (@kbn > 3)
set @kbn = 0
else
set @kbn = @kbn + 1
end
GO
何か間違えているのか自分ではわからなくなっている状態です。
どなたかご指摘いただけると幸いです。