我使用SQL Server 2005.I要查询XML记录按行来排。 所以,我是用下面的代码。 有三个记录。 当我excuted这样,我可以看到一个只记录。
DECLARE @Xml XML
DECLARE @Emp TABLE(ps NVARCHAR(MAX) NULL,inv NVARCHAR(MAX) NULL)
INSERT INTO @Emp(ps,inv)
SELECT @Xml.value('(/NewDataSet/POSDetails/PSTATION)[1]', 'NVARCHAR(MAX)'),
@Xml.value('(/NewDataSet/POSDetails/INVNUMBER)[1]', 'NVARCHAR(MAX)')
SELECT * FROM @Emp
这样,我用接下来的两个SQL语句上面的SQL。 我想用动态的index.Can怎么用? 请指教。
@Xml.value('(/NewDataSet/POSDetails/PSTATION)[2]/[3]', 'NVARCHAR(MAX)')
INSERT INTO @Emp(ps,inv)
SELECT @Xml.value('(/NewDataSet/POSDetails/PSTATION)[2]', 'NVARCHAR(MAX)'),
@Xml.value('(/NewDataSet/POSDetails/INVNUMBER)[2]', 'NVARCHAR(MAX)')
INSERT INTO @Emp(ps,inv)
SELECT @Xml.value('(/NewDataSet/POSDetails/PSTATION)[3]', 'NVARCHAR(MAX)'),
@Xml.value('(/NewDataSet/POSDetails/INVNUMBER)[3]', 'NVARCHAR(MAX)')
预先感谢。