我需要使用 T-SQL 行集吗?

发布于 2024-09-08 02:05:34 字数 289 浏览 4 评论 0原文

因此,我尝试将 Oracle 应用程序的 Web 服务转换为 T-SQL。有趣的是我只有 Web 服务代码,根本没有数据库代码。我看到有一个输入参数包含 123456

我正在浏览 T-SQL 的文档,但似乎找不到任何关于我可以用这个 xml 做什么的有用信息。据我所知,它用于将值插入表中,因为元素在每次调用中都不会相似。

任何帮助将不胜感激。

So I'm trying to convert a web service that was an Oracle application to T-SQL. The fun part is I only have the web service code and no database code at all. I see there is an input parameter that contains <ROWSET><ROW NUM=\"1\"><TRANSACTIONID>123456</TRANSACTIONID></ROW></ROWSET>

I'm looking through the docs for T-SQL and I can't seem to find anything helpful on what I can do with this xml. From what I can understand it's used to insert values into a table since the elements will not be similar in every call.

Any help would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

可遇━不可求 2024-09-15 02:05:34

假设此 XMLT-SQL 存储过程或函数的参数,您可以使用 OPENXML 实用程序来处理此类数据。 这里是一个完整的示例(为了清楚起见,在此处重新发布):

DECLARE @idoc int
DECLARE @doc varchar(1000)
SET @doc ='
<people>
  <person id="1">
    <firstname>John</firstname>
    <surname>Doe</surname>
  </person>
  <person id="2">
    <firstname>Mary</firstname>
    <surname>Jane</surname>
  </person>
</people>
'
/* Create an internal representation of the XML document */
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
-- Execute a SELECT statement that uses the OPENXML rowset provider.
SELECT    *
FROM       OPENXML (@idoc, '/people/person',1)
            WITH (id varchar(20),
                  firstname varchar(20) 'firstname',
                  surname varchar(20) 'surname')
EXECUTE sp_xml_removedocument @idoc

结果:

id  firstname       surname
1   John            Doe
2   Mary            Jane

Assuming this XML is a parameter to your T-SQL stored proc or function, you can use the OPENXML utility to work with this type of data. Here's a complete example (reposted here for clarity):

DECLARE @idoc int
DECLARE @doc varchar(1000)
SET @doc ='
<people>
  <person id="1">
    <firstname>John</firstname>
    <surname>Doe</surname>
  </person>
  <person id="2">
    <firstname>Mary</firstname>
    <surname>Jane</surname>
  </person>
</people>
'
/* Create an internal representation of the XML document */
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
-- Execute a SELECT statement that uses the OPENXML rowset provider.
SELECT    *
FROM       OPENXML (@idoc, '/people/person',1)
            WITH (id varchar(20),
                  firstname varchar(20) 'firstname',
                  surname varchar(20) 'surname')
EXECUTE sp_xml_removedocument @idoc

Result:

id  firstname       surname
1   John            Doe
2   Mary            Jane
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文