SQL虚拟列

发布于 2024-09-08 22:12:14 字数 401 浏览 6 评论 0原文

我收到“SQL 错误:ORA-01733:此处不允许虚拟列”

这是我的代码:

update (
   Select g.FIRST300BB from ( 
      select FIRST300BB, row_number() over (order by pitchandeventid) r
      from gamedata_me 
      where hitterid = 5000
      and (eventcode = 'BB')
   ) g
   where r between 0 and 300
) t
set t.FIRST300BB =1

有什么想法吗?我被困住了,使用 Oracle 所以我发现我无法执行 Update/From 语法...所以我正式圈了马车

I am getting the 'SQL Error: ORA-01733: virtual column not allowed here'

Here is my code:

update (
   Select g.FIRST300BB from ( 
      select FIRST300BB, row_number() over (order by pitchandeventid) r
      from gamedata_me 
      where hitterid = 5000
      and (eventcode = 'BB')
   ) g
   where r between 0 and 300
) t
set t.FIRST300BB =1

Any Ideas? I am stuck, using Oracle so I've discovered I cannot do the Update/From syntax...so I've officially circled the wagons

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

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

发布评论

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

评论(1

眼眸里的那抹悲凉 2024-09-15 22:12:14

例如,尝试等效查询

update gamedata_me 
  set first300BB=1
where rowid in(
          Select g.rid from ( 
              select rowid rid, row_number() over (order by pitchandeventid) r
                  from gamedata_me 
                 where hitterid = 5000
                 and (eventcode = 'BB')
               ) g
   where r between 0 and 300
    ) 

Try an equivalent query for example

update gamedata_me 
  set first300BB=1
where rowid in(
          Select g.rid from ( 
              select rowid rid, row_number() over (order by pitchandeventid) r
                  from gamedata_me 
                 where hitterid = 5000
                 and (eventcode = 'BB')
               ) g
   where r between 0 and 300
    ) 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文