2017-08-08 75 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' 
相关问题