如何使用存储过程使用现有列值更新列

时间:2013-06-27 07:25:17

标签: sql-server

我是新手存储程序,我不知道如何使用它。我的问题是如何通过使用现有列值为其添加一些常量字符串来更新我的列。

实施例: 我的桌子: -

NAME  NewName
Jay
Amit

我想编写一个存储过程来访问名称值,并为每个名称添加常量字符串“Hi”,并将该新名称插入“NewName”列。我正在使用SqlServer。

4 个答案:

答案 0 :(得分:3)

update myTable set NewName = 'Hi ' + coalesce(Name, '')

答案 1 :(得分:3)

试试这个:

UPDATE YourTable
SET NewName = 'Hi ' + NAME

这是一个简单的更新。无需使用存储过程。

答案 2 :(得分:3)

创建程序:

CREATE PROCEDURE AddHiToName
AS
BEGIN
    UPDATE [my table]
    SET NewName = Name + 'Hi'
END
GO

执行程序:

EXEC AddHiToName

奖励 - 如果您想使用参数指定要添加的字符串,而不是使用常量硬编码值。

创建程序:

CREATE PROCEDURE AddStrToName (
    @StringToAdd nvarchar(MAX)
)
AS
BEGIN
    UPDATE [my table]
    SET NewName = Name + @StringToAdd
END
GO

执行程序:

EXEC AddStrToName 'Hi'

答案 3 :(得分:0)

检查一下。

CREATE PROC SetName
(
  @Name VARCHAR(50)
)
AS
BEGIN
  UPDATE myTable SET NewName = @Name + ' ' + ISNULL(Name, '')
END

执行程序:

EXEC SetName 'Hi'
相关问题