使用 xml 格式将查询插入数据库的 esql 命令

问题描述

我尝试使用 esql 代码插入 sql 查询

INSERT INTO Database.dbo.CUSTOMERS Values (9330,'Sai',7);

它工作正常,但是当它尝试使用 xml 格式插入代码显示错误,例如:

INSERT INTO Database.dbo.CUSTOMERS(ID,NAME,AGE) Values (InputRoot.XMLNSC.emps.emp.id,InputRoot.XMLNSC.emps.emp.name,InputRoot.XMLNSC.emps.emp.age);

然后它显示 errorsBIP2230EBIP2488EBIP2321E

enter image description here

如果有任何连接问题意味着第一个插入命令也不应该起作用。选择也工作正常。

有什么解决问题的建议吗?

解决方法

很明显,您的路径(InputRoot.XMLNSC.emps.emp.id 等)在 InputRoot.XMLNSC 下不存在。您可以使用调试器或(更好的)跟踪节点轻松检查这一点。 要解决此问题,请更正这些路径。

您还应该声明和使用 REFERENCE 变量,以使您的 ESQL 更具可读性:

-- This is not the correct path,otherwise your code would be working already!
DECLARE refEmp REFERENCE to InputRoot.XMLNSC.emps.emp;
INSERT 
    INTO Database.dbo.CUSTOMERS(ID,NAME,AGE) 
    VALUES (refEmp.id,refEmp.name,refEmp.age)