繁体   English   中英

SQL使用存储过程更新每行值(旧值+参数)

[英]SQL update each row value (old value + parameter) with stored procedure

我正在使用C#程序中的存储过程。 我需要该过程以使用旧表中的值创建新表,这很容易。

困难的部分是使用参数更新新表中的所有值。 我新表中的所有值都必须看起来像这样

new_value = (parameter + old_value)

我自己尝试了以下操作,但是语法错误,请您帮帮我

CREATE PROCEDURE [dbo].[combine_one_with_all_opponent]
(
   @tblname sysname,
   @value nchar(6)
)
AS
    DECLARE @sql nvarchar(4000) = NULL

    SELECT @sql = 'CREATE TABLE ' + quotename(@tblname) +
                  'SELECT _Value INTO ' + quotename(@tblname) + 
                  'FROM dbo.tbl_comm_cards

                   UPDATE ' + quotename(@tblname) + 
                  'SET _Value = ( ' + @value +' + _Value)'

    EXEC (@sql)

只需从查询中删除CREATE TABLE

尝试这个

CREATE PROCEDURE [dbo].[combine_one_with_all_opponent]
(
@tblname sysname,
@value nchar(6)
)
AS
    DECLARE @sql nvarchar(4000)

    SELECT @sql='SELECT _Value INTO ' + quotename(@tblname) + '
    FROM dbo.tbl_comm_cards opp

    UPDATE ' + @tblname +'
                SET _Value = ( ''' + @value +''' + _Value)'

    EXEC (@sql)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM