我的表是student_register
,有四列像更改列的排序表永久使用T-SQL查询
1. srno
2. firstname
3. lastname
4. middlename
我使用SQL Server 2005查询要在第三位置的列middlename
永久表。
谢谢。
我的表是student_register
,有四列像更改列的排序表永久使用T-SQL查询
1. srno
2. firstname
3. lastname
4. middlename
我使用SQL Server 2005查询要在第三位置的列middlename
永久表。
谢谢。
没有办法做你想要的东西wi不要掉下来读表。要了解Management Studio如何完成此操作(至少在2012年,但我认为这也适用于2005年),请转至Management Studio的Options
>Designers
>Table and Database Designer
>取消选中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
因为它是一次性的事情最简单的方法是使用可视化数据库工具为
How to: Change Column Order (Visual Database Tools) SQL Server 2005的
要做到这一点在TSQL你需要:
我不认为这是可能使用'SQL query'因为在表中的列是没有顺序的。你必须重新创建table.But你为什么要重新订购专栏?你总是可以使用'Select'查询来指定列的顺序 – praveen 2013-03-22 04:48:40
谢谢你。 – 2013-03-22 05:10:47