建立一个动态查询,以将数据插入到表
问题描述:
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('[email protected]+','[email protected]+')'
EXEC SP_EXECUTESQL @qry
我试图做到这一点,但错误建立一个动态查询,以将数据插入到表
转换为varchar值“插入 pic_data(o_id,路径)值时,转换失败(”数据类型为int。‘从那以后,我投的 ID为varchar然后又来到了错误’无效列名‘ABC’。
答
你缺少的报价为VARCHAR ..
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)+','''[email protected]+''')'
EXEC SP_EXECUTESQL @qry
答
试试这个
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))+','+''''[email protected]+''''+')'
Print @qry
EXEC SP_EXECUTESQL @qry
感谢石咀沙棘,现在可以正常工作。 – Dosti
嗨,但为什么这个相同的东西不起作用? – Dosti
我在一个函数中粘贴相同的代码,它不工作... – Dosti