2

2 番目の位置にある既存のテーブルに新しい列を挿入したい。

今、私は次のような列の順序を持​​っています

Emp_id, Emp_Name, Address, phoneNo.

Emp_Nameの近くに「性別」を追加したい。

Emp_id, Emp_Name, Gender, Address, phoneNo). 

このテーブルを削除して新しいテーブルを作成することはできません。

4

3 に答える 3

0

こんにちは、次のことを試してください。

BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
CREATE TABLE dbo.Tmp_TableName
    (
    Emp_id INT NOT NULL,
    Emp_Name VARCHAR(100) NULL,
    Gender BIT NULL,
    [Address] VARCHAR(100) NULL,
    phoneNo int NULL
    )  ON [PRIMARY]
GO
IF EXISTS(SELECT * FROM dbo.Tmp_TableName)
     EXEC('INSERT INTO dbo.Tmp_TableName (Emp_id, Emp_Name, [Address],phoneNo)
        SELECT Emp_id, Emp_Name, [Address],phoneNo FROM dbo.TableName WITH     (HOLDLOCK TABLOCKX)')
GO
DROP TABLE dbo.TableName
GO
EXECUTE sp_rename N'dbo.Tmp_TableName', N'TableName', 'OBJECT' 
GO
COMMIT

TableName を実際のテーブル名に変更してください。

ヤニス

于 2013-07-24T12:28:02.417 に答える