如何在 SQL Server 中正确使用 XML 参数进行更新过程

2023-12-03

我对 XML 很陌生,正在寻找一种方法,从存储过程的以下部分的输入参数中使用 XML(使用 SQL Server 2012)。 XML 通过 JS / Ajax 提交,如下所示:

var xmlMain = '<root><title>' + title + '</title><summary>' + summary + '</summary><post>' + post + '</post><departmentID>' + departmentID + '</departmentID></root>';

SQL中的参数定义为:

@xmlMain xml

要从 XML 中选择,请执行以下操作:

SELECT  [Xml_Tab].[Cols].value('(title)[1]', 'nvarchar(100)'),
        [Xml_Tab].[Cols].value('(summary)[1]', 'nvarchar(500)'),
        [Xml_Tab].[Cols].value('(post)[1]', 'nvarchar(max)'),
        [Xml_Tab].[Cols].value('(departmentID)[1]', 'int')
FROM    @xmlMain.nodes('/root') AS [Xml_Tab]([Cols])

我不知道如何将这样的东西应用到下面:

UPDATE  RC_Posts
SET     title = @title,
        summary = @summary,
        post = @post,
        departmentID = @departmentID
WHERE   postID = @postID

尝试像这样更新。

UPDATE A
SET    title = b.title,
       summary = b.summary,
       post = b.post,
       departmentID = b.departmentID
FROM   RC_Posts A
       JOIN (SELECT title=[Xml_Tab].[Cols].value('(title)[1]', 'nvarchar(100)'),
                    summary=[Xml_Tab].[Cols].value('(summary)[1]', 'nvarchar(500)'),
                    post=[Xml_Tab].[Cols].value('(post)[1]', 'nvarchar(max)'),
                    departmentID=[Xml_Tab].[Cols].value('(departmentID)[1]', 'int'),
                    PostID=[Xml_Tab].[Cols].value('(postID)[1]', 'int')
             FROM   @xmlMain.nodes('/root') AS [Xml_Tab]([Cols])) B
         ON a.postID = b.postID 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 SQL Server 中正确使用 XML 参数进行更新过程 的相关文章

随机推荐

  • 将 unsigned int 缩小转换为短 unsigned int

    警告 在 C 11 中 将 内的 stride 4u 从 unsigned int 到 WORD aka Short unsigned int 缩小转换是不正确的 Wnarrowing 我不明白为什么在从 MinGW 编译以下代码时会收到此
  • 通过delphi检索扩展文件属性

    当您在 Windows 资源管理器中右键单击某个文件并从菜单中选择 属性 时 将出现一个对话框 显示该文件的基本属性 我正在尝试获取文件夹中Word 文件的这些属性 关键字 注释 标题 我修改了在某处找到的代码 它在 vba MSWord
  • 如何根据用户操作系统更改CSS

    我如何编写 CSS 来处理 Mac 操作系统上的不同效果以及其他操作系统版本上的不同效果 i e mac height 100 width 100 overflow hidden win and linux height 100 width
  • 如何对应用程序的每个 p:selectOneMenu 中的 f:selectItems 进行排序?

    Eg
  • 使用Python删除Excel中的重复/重复出现

    我正在尝试删除 名称 列下的重复 重复名称 我只是想通过使用 python 脚本来保留重复 重复名称的第一次出现 这是我的输入excel 并且需要这样的输出 这并不是删除重复项 也就是说您只是将一列中的重复键填充为空白 我将按如下方式处理
  • 使用 CSS 进行背景模糊

    我想要一个Vista 7 航空玻璃风格效果在我网站上的弹出窗口上 它需要是动态的 只要网站仍然存在 我就可以接受这不是跨浏览器效果works在所有现代浏览器上 我的第一次尝试是使用类似的东西 dialog base background w
  • MySQL 分片方法?

    对 MySQL 表进行分片的最佳方法是什么 我能想到的方法是 应用程序级别分片 MySQL代理层的分片 用于分片的中央查找服务器 您知道该领域有哪些有趣的项目或工具吗 对 MySQL 表进行分片的最佳方法是不要这样做 除非完全不可避免 当您
  • pip install 与 python3 -m pip install

    我正在 conda 环境中工作 尝试将包安装到其中 在我以前的电脑上 pip install
  • 确定是否有互联网,包括 wifi 或数据(Swift 3)[关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我在网上找到了一个可达代码 不幸的是它仅适用于 wifi 网络 我需要一个代码来确定一个人是否有互联网连接 这包括 WiFi 和数据 任何帮助是极大的赞赏 您可以使用可达性框架 通过安装它
  • Python 3:如何以管理员身份使用 subprocess.run() (Windows 10)

    我需要在Windows命令行中运行以下信息 有人好心地帮助我了解 subprocess run 的语法 我收到错误 WinError 5 访问被拒绝 这可能需要管理员访问权限 我如何以管理员身份使用 subprocess run 不是在公司
  • ArangoDB:如何获取2个顶点之间的所有可能路径?

    如何在 maxDepth 2 的情况下获取 2 个顶点 例如 X 和 Y 之间的所有可能路径 我尝试过TRAVERSAL但执行需要大约 10 秒 这是查询 FOR p IN TRAVERSAL locations connections X
  • 防止 php 类被扩展

    有时我尝试解码我 自己的通用文件 包含类中所有重要的函数 但我觉得 当我上课的时候 class A public function test value 和文件编码 可能有人这样做 class B extends A public func
  • 如何在WPF中动态创建数据网格?

    我在 XAML 中有以下数据网格
  • struts2中如何将请求参数映射到不同名称的bean

    我知道 Struts 2 使用以下命令自动从请求参数映射到操作类字段param拦截器 但是 如果我想将参数映射到具有不同名称的操作字段该怎么办 假设我有
  • maven将本地类目录添加到模块的类路径中

    我知道这有点超出了 Maven 的范围 但我需要将包含已编译类的本地目录添加到模块的类路径中 我看见 Maven 将文件夹或 jar 文件添加到当前类路径中 但这仅适用于罐子 我需要一个类似的解决方案 但在本地文件系统的目录中包含已编译的类
  • Python使用正则表达式重命名文件

    您好 我想将具有一种源模式 例如 IMG 20190401 235959 jpg 的文件重命名为目标模式 例如 2019 04 01 23 59 59 jpg 我正在尝试在 python 中执行此操作 但我无法找到如何使用正则表达式来构建新
  • mysql2 gem、Rails 3.0.3 和“不兼容的字符编码”错误

    我使用的是 Rails 3 0 3 并且我已将 mysql 适配器从 ruby mysql 更改为 mysql2 但现在出现以下错误 incompatible character encodings ASCII 8BIT and UTF 8
  • Java:我的 classOf 和 newArray 怎么样?

    Here 我想知道如何实施Collection toArray T array 适当地 我最生气的是array getClass getComponentType 属于类型Class
  • PyAudio 回调仅被调用一次

    我正在尝试创建一个简单的应用程序 加载 wav 文件 键盘的每个音符一个 并在按下 或播放 MIDI 音符时播放特定的文件 到目前为止 我已经在两个单独的线程中使用 mido 创建了一个 midi 输入流 并使用 pyaudio 创建了一个
  • 如何在 SQL Server 中正确使用 XML 参数进行更新过程

    我对 XML 很陌生 正在寻找一种方法 从存储过程的以下部分的输入参数中使用 XML 使用 SQL Server 2012 XML 通过 JS Ajax 提交 如下所示 var xmlMain