关键字“order”附近的语法不正确。 [英] Incorrect syntax near the keyword 'order'.

查看:79
本文介绍了关键字“order”附近的语法不正确。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经创建了一个存储过程,用于将多个数据插入SQL DB,但在尝试执行存储过程时收到错误。



消息156,等级15,状态1,程序orderdetailsbulk,第6行

关键字'order'附近的语法不正确。



目前我正在使用Ms SQL 2008 Express R2。





<跨度类= 代码关键字>创建 <跨度类= 代码关键字>过程 dbo.orderdetailsbulk
<跨度类=代码 - sdkkeyword > @ XMLDATA XML
<跨度类= 代码关键字 >作为
<跨度类= 代码关键字>插入 <跨度类= 代码关键字>到 ORDERDETAILS(订单ID,OrderItem的,orderdes,orderquan,orderfrom,orderto,订单类型,orderprice,的OrderTotal)
<跨度类= 代码关键字>选择
order .query(' orderid ')。值(' 。'' int' as orderid,
order .query(' orderitem')。值(' 。 '' nvarchar(50)' as orderitem,
order .query(' orderdes')。值(' 。'' nvarchar(MAX)' as orderdes,
order .query(' orderquan')。值(' 。'' int' as orderquan,
order .query (' orderfrom')。值('' 。'' date' as orderfrom,
order .query(' orderto')。值(' 。 '' date' as orderto,
order .query(' ordertype')。值(' 。'' <温泉n class =code-string> nvarchar(MAX)' as ordertype,
订单 .query(' orderprice')。值(' 。'' money' as orderprice,
order .query( ordertotal')。值(' 。'' money'作为的OrderTotal,
<跨度类= 代码关键字 自
<跨度类=> 代码sdkkeyword> @ XMLDATA .nodes(' / orderdetails / order' as XMLData( order

return

解决方案
订单是一个关键字(订购方式 [ ^ ])所以你会如果你使用它会出错。


I've created a stored procedure for the inserting multiple data into SQL DB but receiving an error when try to execute the stored procedure.

Msg 156, Level 15, State 1, Procedure orderdetailsbulk, Line 6
Incorrect syntax near the keyword 'order'.

currently i'm using Ms SQL 2008 Express R2.


create procedure dbo.orderdetailsbulk
   @XMLdata xml
as
   Insert into orderdetails(orderid, orderitem,orderdes,orderquan,orderfrom,orderto,ordertype,orderprice,ordertotal)
     select 
          order.query('orderid').Value('.','int') as orderid,
          order.query('orderitem').Value('.','nvarchar(50)') as orderitem,
          order.query('orderdes').Value('.','nvarchar(MAX)') as orderdes,
          order.query('orderquan').Value('.','int') as orderquan,
          order.query('orderfrom').Value('.','date') as orderfrom,
          order.query('orderto').Value('.','date') as orderto,
          order.query('ordertype').Value('.','nvarchar(MAX)') as ordertype,
          order.query('orderprice').Value('.','money') as orderprice,
          order.query('ordertotal').Value('.','money') as ordertotal,
      from
      @XMLData.nodes('/orderdetails/order') as XMLData(order)
      
 return

解决方案

Order is a keyword (ORDER BY[^]) so you would get errors if you use it.


这篇关于关键字“order”附近的语法不正确。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆