如何使用存储过程更新数据库字段表?

时间:2017-08-08 09:45:11

标签: sql database stored-procedures

我基本上有一个数据库表,其中有一个名为DESCRIPTION

的字段

我的表名为“Table123”

每条记录都是可以重复的短语。

我在这张表中有10条记录,在字段DESCRIPTION中我有短语:“你好,你还好吗?”四次,“再见,谢谢”四次,两次“度过美好的一天”。

我想通过使用存储过程来更改这些短语,因为我无法直接更改数据库表。

我想改变这一点:在第一句中我想改为“例如:你好,你还好吗?”在四个记录中,在第二个短语中,我想在四个记录中更改为“Hello and thank you”。

我基本上创建了一个STORED PROCEDURE,用于更改说明字段中短语的部分或单词。

任何帮助?

我在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

1 个答案:

答案 0 :(得分: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'