嘿,我是Oracle SQL新手,我正在尝试创建一个触发器,它具有依赖于从select查询接收的列的插入。
我有一个基本的幻想棒球应用程序,我正在尝试更新一个表格,该表格将玩家与他参加的团队关联一天。我想要做的基本想法是更新batterStat表更改时玩家所在的每个团队的日期。例如(所有静态变量都只是:来自batterStat触发器的新值)。
insert into onTeam(date, player, teamName) values ('newDate','Matt Holliday',(select teamName from onTeam where player = 'Matt Holliday'))
所以如果Matt Holliday没有为多个团队效力,那么这一切都会好的,那么有没有办法让它为嵌套选择返回的每个值以及两个静态变量插入?
答案 0 :(得分:3)
尝试这样的事情:
insert into onTeam(date, player, teamName)
select 'newDate','Matt Holliday', teamName
from onTeam where player = 'Matt Holliday'
答案 1 :(得分:0)
这将导致“变异触发器”(在定义它的同一个表上尝试DML)错误,不应该作为触发器实现。它应该在您的首选项层(PL / SQL包或应用程序代码)中实现为SQL语句。
根据您对逻辑的描述,可能还需要重新设计onTeam表。