2012-01-18 15 views
0

私はEmployeeという名前の既存のテーブルを持ち、新しい列Employee_Idを追加する必要があります。 EmployeeIdは10桁の固有番号で、常に10で始まる必要があります。生成された一意のIDに値を連結

1000000000 
1000000001 
1023456789 

例えば

だから私は、すでにデータを持っている既存のテーブルにユニークな10桁のIDがの束を追加する必要があります。

誰も私がこれを整理するのを助けることができます。

答えて

2

SQL Serverを使用している場合、IDENTITYが役に立ちます。

http://msdn.microsoft.com/en-us/library/ms186775.aspx

更新:あなたがテーブルを変更するために、ここでの議論を参照してくださいする必要があります。

Adding an identity to an existing column

+0

その全体が正しく再挿入されない限り、既存のデータを手助けするつもりはありませんか? – naresh

+0

次に、同様の議論がここにあります。これはどう? http://stackoverflow.com/questions/1049210/adding-an-identity-to-an-existing-column –

+0

しかし、もしあなたが既にそれを持っていれば、OPはそれに言及していない、@ user1078389あなたはすでに主キーを持っていますか? SQL Serverの –

1
ALTER TABLE YOURTABLE 
ADD COLUMNNAME INTEGER IDENTITY(1000000000, 1) 

それは10ですべてを生成しません..しかし、それはあなたが11を取得する渡されるかどうかは、アルに可能性を生成します..しかし、それはそれに到達するための数字がたくさんあることでしょう。

は、これは新しいIDの余分な列で、既存のテーブルからデータを取得します

+0

'integer' - >' int'です。 –

4
SELECT 1000000000 + ROW_NUMBER() OVER(ORDER BY YourColumn) AS 'rownumber',* 
    FROM Employee 

お役に立てば幸いです。

2

既に整数PKがある場合は、計算カラムを追加することができます(存続しているかどうか)。 pkが1000000000より大きければ、値はPK + 1000000000になります。

関連する問題