2015-08-28 27 views
0

我有一個包含用戶可見的屬性列表的表。但我插入的數據格式不正確,我想在不創建臨時表的情況下將[ActionName]的值與[ControllerName]名稱交換。交換數據庫表的值

SELECT [MenuID] 
      ,[MenuName] 
      ,[MenuMasterID] 
      ,[ActionName] 
      ,[ControllerName] 
      ,[ImageClassName] 
      ,[MainOrderID] 
      ,[SubOrderID] 
     FROM [DEV_CMS_Medical].[dbo].[SEC_Menus] 
+0

給一個虛擬的名字'[ActionName]'在查詢 –

+0

爲'ControllerName'我想通過交換 –

回答

1

查詢

SELECT 
     t.[MenuID] 
     ,t.[MenuName] 
     ,t.[MenuMasterID] 
     ,[ActionName] = t.[ControllerName] 
     ,[ControllerName] = t.[ActionName] 
     ,t.[ImageClassName] 
     ,t.[MainOrderID] 
     ,t.[SubOrderID] 
    FROM [DEV_CMS_Medical].[dbo].[SEC_Menus] t; 

使用更新的時候,當你想換標的使用分配新建分配FY如果你想只交換/走樣數據:

UPDATE [DEV_CMS_Medical].[dbo].[SEC_Menus] 
SET [ActionName]  = [ControllerName] 
    ,[ControllerName] = [ActionName]; 
+0

更新數據庫值我想更新數據庫值 –

+0

@MuhammadNasir更具體,當你制定問題。 – lad2025

1
UPDATE [DEV_CMS_Medical].[dbo].[SEC_Menus] 
SET ActionNamec = ControllerName, 
    ControllerName = ActionName 

,或者如果你想秀沒有任何操作的數據僅使用所需列的別名名稱

1
update dbo.SEC_Menus 
    set ActionName = ControllerName, 
     ControllerName = ActionName 
0

你可以嘗試重命名這樣的列名:

sp_RENAME 'TableName.[OldColumnName]' , '[NewColumnName]', 'COLUMN' 

爲此,您需要首先設置OldColumnName一些假名字。事情是這樣的:

sp_RENAME '[SEC_Menus].[ActionName]' , '[ControllerNameDummy]', 'COLUMN' 
+0

您需要虛擬名稱的中間步驟。所以需要3個重命名。很好,這隻接觸元數據。 – lad2025