2017-08-08 112 views
0

我基本上有一個數據庫表,其中有一個叫做描述如何使用存儲過程更新數據庫字段表?

我的表稱爲「Table123」

每個記錄是可以被重複的一句話場。

我在這張表中有10條記錄,並在字段說明我有這樣的短語:「你好,你沒事吧?」四次,「再見,謝謝」四次,「祝你有美好的一天」兩次。

我想通過使用存儲過程來更改此短語,因爲我不能直接更改數據庫表。

我想改變這個:在第一個短語中我想改成「例如:你好,你沒事吧?」在四條記錄中,在第二條中,我想在四條記錄中改爲「你好,謝謝你」。

我基本上已經創建了一個存儲過程,用於更改說明字段中短語的部分或單詞。

任何幫助?

我在SQL管理工作室工作

我曾嘗試:

USE [XXX] 

GO 

SET ANSI_NULLS ON 

GO 

SET QUOTED_IDENTIFIER ON 

GO 

CREATE PROCEDURE [dbo].[UpdateTable] 

     @XKey     INT, 
     @XDescription   NVARCHAR(MAX) 
AS 
BEGIN 
    begin transaction 
     begin try    
      set nocount on 

UPDATE table 

SET   
     Description = @VMDescription  
WHERE ID = @VMKey 

commit; 
     end try 
     begin catch 
      rollback transaction; 

      declare @errorMessage nvarchar(4000); 
      declare @errorSeverity int; 
      declare @errorState int; 

      select 
      @errorMessage = ERROR_PROCEDURE() + ': ' + ERROR_MESSAGE(), 
      @errorSeverity = ERROR_SEVERITY(), 
      @errorState = ERROR_STATE(); 

      RAISERROR(@errorMessage,@errorSeverity,@errorState); 
     end catch 
END 
+0

你嘗試過什麼?爲什麼它不工作? – HoneyBadger

+0

另外,你在使用什麼rdbms? –

+0

@HoneyBadger和Zohar更新了帖子 我這樣做了,但不知道如何以及何時更改字段說明的文字... –

回答

0

既然你有特定的值更新,那麼就使用

UPDATE table 
    SET description = 'For example: hello, are you okay?' 
WHERE description = 'hello, are you okay?' 

UPDATE table 
    SET description = 'Hello and thank you' 
WHERE description = 'goodbye and thank you' 
相關問題