我正在使用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)
答案 0 :(得分:0)
只需从查询中删除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)