问题描述
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);
然后它显示 errors 像 BIP2230E
、BIP2488E
、BIP2321E
。
如果有任何连接问题意味着第一个插入命令也不应该起作用。选择也工作正常。
有什么解决问题的建议吗?
解决方法
很明显,您的路径(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)