更新多行 [英] Update Multiple Rows

查看:73
本文介绍了更新多行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在单个语句中更新多行。我见过一些例子,但对我来说,它们似乎不适用于我的场景。下面是我原来的SQL:


UPDATE AIM.AIMRetrievedItem

SET ImageFront = NULL,

ImageFrontSize = NULL,
ImageFrontType = NULL,

ImageBack = NULL,

ImageBackSize = NULL,

ImageBackType = NULL

WHERE AIM.AIMRetrievedItem.ArchiveRetrievalID =(SELECT

AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID

FROM

AIM.ARCHIVERETRIEVAL,

AIM.AIMRETRIEVEDITEM

WHERE

AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID = AIM.ARCHIVERETRIEVAL.ARCHIVERETRIEVALID

AND AIM.ARCHIVERETRIEVAL.EXPIRATIONDATE< DATE(CURRENT TIMESTAMP))


当我运行此查询时,我得到多个记录集错误。


我欢迎任何建议或想法关于如何纠正这个问题。


提前致谢...

解决方案

" Anthony Robinison" ; <一个***** @ yahoo.com>在消息中写道

新闻:e9 ***************** @ twister.rdc-kc.rr.com ...

我试图在一个语句中更新多行。我见过一些

的例子,但对我来说,它们似乎不适用于我的场景。下面是我的

原始SQL:


UPDATE AIM.AIMRetrievedItem

SET ImageFront = NULL,

ImageFrontSize = NULL,

ImageFrontType = NULL,

ImageBack = NULL,

ImageBackSize = NULL,

ImageBackType = NULL

WHERE AIM.AIMRetrievedItem.ArchiveRetrievalID =(SELECT

AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID

FROM

AIM .ARCHIVERETRIEVAL,

AIM.AIMRETRIEVEDITEM

WHERE

AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID =

AIM.ARCHIVERETRIEVAL.ARCHIVERETRIEVALID

和AIM.ARCHIVERETRIEVAL.EXPIRATIONDATE< DATE(CURRENT TIMESTAMP))


当我运行此查询时,我得到多个记录集错误。


我欢迎任何有关如何纠正问题的建议或想法。


提前致谢...

- ------------------------------------------------ <无线电通信/>
我怀疑问题出在subselect中,哪个返回超过

一个值。


" Anthony Robinison" <一个***** @ yahoo.com>在消息中写道

新闻:e9 ***************** @ twister.rdc-kc.rr.com ...

我试图在一个语句中更新多行。我见过一些

的例子,但对我来说,它们似乎不适用于我的场景。下面是我的

原始SQL:


UPDATE AIM.AIMRetrievedItem

SET ImageFront = NULL,

ImageFrontSize = NULL,

ImageFrontType = NULL,

ImageBack = NULL,

ImageBackSize = NULL,

ImageBackType = NULL

WHERE AIM.AIMRetrievedItem.ArchiveRetrievalID =(SELECT

AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID

FROM

AIM .ARCHIVERETRIEVAL,

AIM.AIMRETRIEVEDITEM

WHERE

AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID =

AIM.ARCHIVERETRIEVAL.ARCHIVERETRIEVALID

和AIM.ARCHIVERETRIEVAL.EXPIRATIONDATE< DATE(CURRENT TIMESTAMP))


当我运行此查询时,我得到多个记录集错误。


我欢迎任何有关如何纠正问题的建议或想法。


提前致谢...

- ------------------------------------------------ <无线电通信/>
我怀疑问题出在subselect中,哪个返回超过

一个值。


我见过他们可以绕过多个的示例

记录问题......


有人看过这个或有任何想法吗?


" Mark A" < ma@switchboard.net>在消息中写道

news:gf ***************** @ news.uswest.net ...

" Anthony Robinison <一个***** @ yahoo.com>在消息中写道
新闻:e9 ***************** @ twister.rdc-kc.rr.com ...
我正在努力在单个语句中更新多行。我见过一些
的例子,但对我来说,它们似乎不适用于我的场景。下面是我原来的SQL:

UPDATE AIM.AIMRetrievedItem
SET ImageFront = NULL,
ImageFrontSize = NULL,
ImageFrontType = NULL, ImageBack = NULL,
ImageBackSize = NULL,
ImageBackType = NULL
WHI AIM.AIMRetrievedItem.ArchiveRetrievalID =(SELECT
AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID
FROM
AIM.ARCHIVERETRIEVAL,
AIM.AIMRETRIEVEDITEM
在哪里
AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID =
AIM.ARCHIVERETRIEVAL.ARCHIVERETRIEVALID
和AIM.ARCHIVERETRIEVAL.EXPIRATIONDATE< DATE( CURRENT TIMESTAMP))

当我运行此查询时,我得到多个记录集错误。

我欢迎任何有关如何纠正问题的建议或想法。

提前致谢...
----------------------------------- --------------
我怀疑问题出现在subselect中,它返回的价格比一个值多了



I''m trying to UPDATE multiple rows in a single statement. I''ve seen some examples but to me they don''t seem to apply to my scenario. Below is my original SQL:

UPDATE AIM.AIMRetrievedItem
SET ImageFront=NULL,
ImageFrontSize=NULL,
ImageFrontType=NULL,
ImageBack=NULL,
ImageBackSize=NULL,
ImageBackType=NULL
WHERE AIM.AIMRetrievedItem.ArchiveRetrievalID = (SELECT
AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID
FROM
AIM.ARCHIVERETRIEVAL,
AIM.AIMRETRIEVEDITEM
WHERE
AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID = AIM.ARCHIVERETRIEVAL.ARCHIVERETRIEVALID
AND AIM.ARCHIVERETRIEVAL.EXPIRATIONDATE < DATE(CURRENT TIMESTAMP))

When I run this query, I get the multiple recordset error.

I would welcome any suggestions or ideas on how to rectify the problem.

Thanks in advance...

解决方案

"Anthony Robinison" <an*****@yahoo.com> wrote in message
news:e9*****************@twister.rdc-kc.rr.com...
I''m trying to UPDATE multiple rows in a single statement. I''ve seen some
examples but to me they don''t seem to apply to my scenario. Below is my
original SQL:

UPDATE AIM.AIMRetrievedItem
SET ImageFront=NULL,
ImageFrontSize=NULL,
ImageFrontType=NULL,
ImageBack=NULL,
ImageBackSize=NULL,
ImageBackType=NULL
WHERE AIM.AIMRetrievedItem.ArchiveRetrievalID = (SELECT
AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID
FROM
AIM.ARCHIVERETRIEVAL,
AIM.AIMRETRIEVEDITEM
WHERE
AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID =
AIM.ARCHIVERETRIEVAL.ARCHIVERETRIEVALID
AND AIM.ARCHIVERETRIEVAL.EXPIRATIONDATE < DATE(CURRENT TIMESTAMP))

When I run this query, I get the multiple recordset error.

I would welcome any suggestions or ideas on how to rectify the problem.

Thanks in advance...
-------------------------------------------------
I suspect that the problem is in the subselect, which is returning more than
one value.


"Anthony Robinison" <an*****@yahoo.com> wrote in message
news:e9*****************@twister.rdc-kc.rr.com...
I''m trying to UPDATE multiple rows in a single statement. I''ve seen some
examples but to me they don''t seem to apply to my scenario. Below is my
original SQL:

UPDATE AIM.AIMRetrievedItem
SET ImageFront=NULL,
ImageFrontSize=NULL,
ImageFrontType=NULL,
ImageBack=NULL,
ImageBackSize=NULL,
ImageBackType=NULL
WHERE AIM.AIMRetrievedItem.ArchiveRetrievalID = (SELECT
AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID
FROM
AIM.ARCHIVERETRIEVAL,
AIM.AIMRETRIEVEDITEM
WHERE
AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID =
AIM.ARCHIVERETRIEVAL.ARCHIVERETRIEVALID
AND AIM.ARCHIVERETRIEVAL.EXPIRATIONDATE < DATE(CURRENT TIMESTAMP))

When I run this query, I get the multiple recordset error.

I would welcome any suggestions or ideas on how to rectify the problem.

Thanks in advance...
-------------------------------------------------
I suspect that the problem is in the subselect, which is returning more than
one value.


I''ve seen examples where they were able to get around the more than one
record issue...

Anyone seen this or have any ideas?

"Mark A" <ma@switchboard.net> wrote in message
news:gf*****************@news.uswest.net...

"Anthony Robinison" <an*****@yahoo.com> wrote in message
news:e9*****************@twister.rdc-kc.rr.com...
I''m trying to UPDATE multiple rows in a single statement. I''ve seen some
examples but to me they don''t seem to apply to my scenario. Below is my
original SQL:

UPDATE AIM.AIMRetrievedItem
SET ImageFront=NULL,
ImageFrontSize=NULL,
ImageFrontType=NULL,
ImageBack=NULL,
ImageBackSize=NULL,
ImageBackType=NULL
WHERE AIM.AIMRetrievedItem.ArchiveRetrievalID = (SELECT
AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID
FROM
AIM.ARCHIVERETRIEVAL,
AIM.AIMRETRIEVEDITEM
WHERE
AIM.AIMRETRIEVEDITEM.ARCHIVERETRIEVALID =
AIM.ARCHIVERETRIEVAL.ARCHIVERETRIEVALID
AND AIM.ARCHIVERETRIEVAL.EXPIRATIONDATE < DATE(CURRENT TIMESTAMP))

When I run this query, I get the multiple recordset error.

I would welcome any suggestions or ideas on how to rectify the problem.

Thanks in advance...
-------------------------------------------------
I suspect that the problem is in the subselect, which is returning more than one value.



这篇关于更新多行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆