1

「id」列と「name」列を持つテーブルがあります

id Name
1  John
2  Peter
3  Alex
4  Robin
5  Mario

そのため、レコード「3 Alex」を削除すると、次のようになります。行番号を使用して可能であることは知っていますが、その方法がわかりません。これがvb.net(またはアクセス)で使用するには、適切なSQLが必要です。

id Name
1  John
2  Peter
3  Robin
4  Mario
4

1 に答える 1

0

一時テーブルを作成します。

DECLARE @tbl TABLE(
[Name] VARCHAR(64) NULL
, OldID INT NULL
, NewID INT INCREMENT(1,1)
) 

INSERT INTO @tbl
 (
 [Name]
 , OldID
 )
 SELECT
 [Name]
 , ID
 FROM
   OriginalDataTable
 WHERE
    ID  NOT IN (4, 5) ' actually 3 for your example
 ORDER BY
   ID

SELECT
 [Name]
 , NewID ID
FROM
  @tbl
ORDER BY 
 NewID

上記のように実際のIDを変更することはお勧めできません。

于 2012-08-02T13:54:58.983 に答える