我创建了一个存储过程,它有两个语句insert
和update
.
它得到两个参数:
@content as nvarchar(10),
@fieldName as int
Update
一切正常,但它不会插入到表中。语法和一切都是真的,但是当我执行时
Execute sp_update 432,4
SQL Server 显示此错误:
消息 207,级别 16,状态 1,第 1 行
无效的列名称“向上”。
消息 207,级别 16,状态 1,第 1
行列名“字段 3”无效。
这是我的脚本:
ALTER procedure [dbo].[sp_update]
@content as nvarchar(10),
@fieldName as int
as
declare @ff as varchar
set @ff = Convert(varchar,@fieldName)
declare @f as char(7)
set @f = 'Field'+ @ff
declare @sqlupdate varchar(500)
declare @sqlinserttoChangelog varchar(500)
set @sqlinserttoChangelog = 'Insert Into dbo.changelog (changeType, fieldname) Values ('+'up'+','+@f+')'
Exec (@sqlinserttoChangelog)
set @sqlupdate = 'update TableTest set ' + @f + ' = '+@Content
Exec (@sqlupdate)