我的表是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