构建动态查询以将数据插入表中

时间:2017-07-03 12:26:22

标签: sql-server

declare @qry nvarchar(100)
declare @Id int
declare @pth varchar(100)
set @Id=4
set @pth='abc'
set @qry='insert into pic_data(o_id,path) values('+@Id+','+@pth+')'
EXEC SP_EXECUTESQL @qry

我正在尝试这样做,但发生了错误

  

转换varchar值'insert into时转换失败   pic_data(o_id,path)值('到数据类型int。'之后我投了   id到varchar然后另一个错误是“无效的列名'abc'。

2 个答案:

答案 0 :(得分:1)

您缺少varchar的引号..

posts

答案 1 :(得分:1)

试试这个

DECLARE @QRY NVARCHAR(100)
DECLARE @ID INT
DECLARE @PTH VARCHAR(100)
set @Id=4
set @pth='abc'


SET @qry='INSERT INTO PIC_DATA(O_ID,PATH) VALUES('+CAST(@Id AS VARCHAR(10))+','+''''+@pth+''''+')'
Print @qry
EXEC SP_EXECUTESQL @qry