mysql - 我可以循环遍历插入语句中每一行的值的表吗?
问题描述
我有一个包含 260 行信息的表(我取自 NAMES 表中的 XML 列),我想获取该表每一行的名字并插入到一个新表 USR_BBUSXMLTNS。
我的插入语句:
begin try
-- handle inserting the data
insert into dbo.USR_BBUSXMLTNS
(ID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED,FIRSTNAME)
values
(@ID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE,
(SELECT CAST(REPLACE(REPLACE(CONVERT(nvarchar(max), Data),
'<?xml version="1.0" encoding="utf-8"?>', ''),
' xmlns="urn:books.RET.XDATA"', '') AS xml).value('(//Donor/FirstName/text()) [1]',
'nvarchar(max)') FROM Names) )
end try
我希望 insert 语句遍历 Names 表并获取每行的名称值并将其添加到 insert ,理想情况下,当它完成时,我将在 USR_BBUSXMLTNS 表中拥有 260 个名称。
我搜索了该站点并尝试了不同的解决方案,但不确定它们是否适合我的需要。
当我运行它时,我得到:子查询返回超过 1 个值。当子查询跟随 = 时,这是不允许的,因为有多个结果 - 我可以做一个循环吗?
任何建议都会很棒。
大卫。
解决方案
推荐阅读
- swagger-ui - Swagger UI - 按规范和版本过滤
- python - 如何使输出返回一个数字?
- python - 在python中使用子进程关闭pdf
- c++ - CMFCPropertyGrid:如何捕获组合框属性的下拉事件
- express - Gzip流编码如何gunzip以解析代理中的数据
- node.js - 我在 ejs 中发现错误。请告诉我哪里出错了?
- c# - 如何为每个 Xamarin.Forms 页面设置不同的 colorPrimary、colorAccent...?C#
- snowflake-cloud-data-platform - 如何加载和验证多种格式的时间戳数据?
- coq - 位向量的强制转换
- informix - 备份和恢复informix数据库