繁体   English   中英

将Row_number()添加到SQL Server 2012中的表变量

[英]Add Row_number() to table variable in SQL Server 2012

我有一个存储过程,该过程显示添加row_number出错:

alter proc xmliterate
    @xmlstring xml
as
begin
    declare @tablexml table(ids int,
                            names varchar(50),
                            parent varchar(50),
                            nodes varchar(50))

    insert into @tablexml (ids, names, parent, nodes)  
        select 
            ids = row_number() over (order by names),---error Invalid column name 'names'.
            PARENT = B.value('(.)[1]','varchar(50)'),
            names = b.value('local-name(.)','varchar(50)'),
            nodes = b.value('local-name(..)','varchar(50)')
        from 
            @xmlstring.nodes('SampleXML/*/*')A(B)

     select * from @tablexml
end

如果不可能,如何将row_number添加到结果表变量中?

您的名称列是别名列。 您应该更改代码,从: row_number() over (order by names)row_number() over (order by b.value('local-name(.)','varchar(50)'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM