私のテーブルにはstudent_register
、次のような4つの列があります。
1. srno
2. firstname
3. lastname
4. middlename
middlename
SQL Server 2005クエリを使用して、テーブルの3番目の位置に列を永続的に配置する必要があります。
ありがとうございました。
私のテーブルにはstudent_register
、次のような4つの列があります。
1. srno
2. firstname
3. lastname
4. middlename
middlename
SQL Server 2005クエリを使用して、テーブルの3番目の位置に列を永続的に配置する必要があります。
ありがとうございました。
テーブルを削除して再読み込みせずに、やりたいことを行う方法はありません。Management Studio がこれをどのように達成するかを確認するには (少なくとも 2012 年には、これは 2005 年にも当てはまると思います)、Management Studio のOptions
> Designers
> Table and Database Designer
> Uncheckに移動しますPrevent saving changes that require table re-creation
。
それができたら、テーブル デザイナーに移動して列の順序を変更し、[保存] をクリックする代わりに [変更スクリプトの保存] をクリックして SQL を表示します。
SQL 2012 が生成するものは次のとおりです。
/* To prevent any potential data loss issues, you should review this script in detail before running it outside the context of the database designer.*/
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_Table_1
(
TEst1 nchar(10) NULL,
Test3 nchar(10) NULL,
Test2 nchar(10) NULL
) ON [PRIMARY]
GO
ALTER TABLE dbo.Tmp_Table_1 SET (LOCK_ESCALATION = TABLE)
GO
IF EXISTS(SELECT * FROM dbo.Table_1)
EXEC('INSERT INTO dbo.Tmp_Table_1 (TEst1, Test3, Test2)
SELECT TEst1, Test3, Test2 FROM dbo.Table_1 WITH (HOLDLOCK TABLOCKX)')
GO
DROP TABLE dbo.Table_1
GO
EXECUTE sp_rename N'dbo.Tmp_Table_1', N'Table_1', 'OBJECT'
GO
COMMIT
これは 1 回限りのことなので、Visual Database Tools を使用するのが最も簡単な方法です。
方法: 列の順序を変更する (Visual Database Tools) SQL Server 2005
TSQL でそれを行うには、次のものが必要です。