1

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

示例:我的表:--

NAME  NewName
Jay
Amit

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

4

4 回答 4

3
update myTable set NewName = 'Hi ' + coalesce(Name, '')
于 2013-06-27T07:29:14.497 回答
3

尝试这个:

UPDATE YourTable
SET NewName = 'Hi ' + NAME

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

于 2013-06-27T07:29:20.773 回答
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'
于 2013-06-27T07:30:27.203 回答
0

看一下这个。

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

执行程序:

EXEC SetName 'Hi'
于 2013-06-27T07:33:35.970 回答