我的桌子是student_register
并且有四列
1. srno
2. firstname
3. lastname
4. middlename
我希望middlename
使用 SQL Server 2005 查询在表中永久位于第三位的列。
谢谢你。
我的桌子是student_register
并且有四列
1. srno
2. firstname
3. lastname
4. middlename
我希望middlename
使用 SQL Server 2005 查询在表中永久位于第三位的列。
谢谢你。
如果不删除并阅读表格,就无法做你想做的事。要了解 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
由于这是一次性的,最简单的方法是为此使用 Visual Database Tools
如何:更改列顺序 (Visual Database Tools) SQL Server 2005
要在 TSQL 中执行此操作,您需要: