建立一个动态查询,以将数据插入到表

问题描述:

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 
+0

感谢石咀沙棘,现在可以正常工作。 – Dosti

+0

嗨,但为什么这个相同的东西不起作用? – Dosti

+0

我在一个函数中粘贴相同的代码,它不工作... – Dosti

试试这个

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