sp_executesql参数值
问题描述:
我有一个表可以修改我的用户,这意味着用户可以添加列,因为我不知道有多少列de table会有,我不知道我怎么能提供sp_executesql值。sp_executesql参数值
我迄今为止代码:
SET @sSQL = (
N'INSERT INTO dbo.MyTable
VALUES('[email protected]+')'
)
--For Explaining purposes since @stmtPar is SET dynamically
--in a while-loop at de begining of the SP
SET @ParmDefinition = @stmtPar
这里就是我需要帮助,因为这样的事实,我不知道有多少列不表已经我不能知道我需要多少@参数提供
EXEC sp_executesql @sSql, @ParmDefinition, ????
我有一个包含了需要插入值的@values变量,但如果我把下一个statment SQL只使用@values燃油供给的第一列
EXEC sp_executesql @sSql, @ParmDefinition, @values
希望你能帮忙,谢谢
答
如果你不知道参数的数量,你应该手动建立一条SQL语句。下面是一个例子(第三列有varchar类型并使用双配额):
DECLARE @sSQL NVARCHAR(MAX);
DECLARE @numParametros NVARCHAR(MAX);
SET @numParametros = '1,2,''test''';
SET @sSQL = (
N'INSERT INTO Table1
VALUES('[email protected]+')'
)
exec sp_executesql @sSQL