xia_xia_mg 2021-03-05 09:22 采纳率: 0%
浏览 87

sql存储过程拼接字符动态插入数据

问题是  我需要像数据库指定表名的表中插入带参数据  建的存储过程,里面用拼接字符串 可是一直拼接的不对,求指点。

我数据库的代码

create proc Proc_InsertdataTable
(
	@tablename varchar(40),
	@datanum int,
	@result varchar(2),
	@datasize float
)
as
declare @temp varchar(200)
set @temp = 'insert into '+@tablename+'(Data_Num,Result_txt,Data_size) values ('+@datanum+','+@result+','+@datasize+')'
exec(@temp)
go


exec Proc_InsertdataTable @tablename='设备10SH65465',@datanum=3,@result='NG',@datasize=10.021

上述执行存储过程  提示 

消息 245,级别 16,状态 1,过程 Proc_InsertdataTable,行 10 [批起始行 17]
在将 varchar 值 'insert into 设备10SH65465(Data_Num,Result_txt,Data_size) values (' 转换成数据类型 int 时失败。

试了挺多的写法 都不正常。

 

  • 写回答

1条回答 默认 最新

  • Kscstg 2021-03-05 10:03
    关注

    你输出出来看看是不是语法问题,比如关键字之间没有空格

    评论

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站