oracle 一张表有3个字段,其中一个字段是A表中查出的固定值,一个字段是另一个表查出的多值,
发布网友
发布时间:2022-10-07 09:03
我来回答
共4个回答
热心网友
时间:2023-10-26 16:06
不知道你是想怎么判断,但是select
table_name
from
user_tables;就会查询出所有的表名字(不区分大小写);你要是用hibernate注入的话,在配置文件中直接弄成update,那么有表的时候就不会创建表,没有的时候就会创建一个表。要是想在数据库内判断的话,就要用到function和procere来循环判断做,要不就不知道怎么弄了,看你想怎么弄吧。
热心网友
时间:2023-10-26 16:06
A表和另一个表没有关联的话,这个对应关系不好弄啊,如果A表查出的固定值是要插入的表中这一列的所有的行都是这个值的话那么到好办了,例如 表A是要更新的表,有id,year(固定值),salary(多值),B表 查出年份year,C表查出工资赋值,如果这个year是常量,而且没有关联也没有必要查了。
insert into C select (select year from b where 条件) year,(select salary from C where 条件) salary
from al;
热心网友
时间:2023-10-26 16:07
insert into 目标表
select 自增ID.nextval,A.固定值,(select 多值 from 另一个表 where 条件=A.条件)
from A
追问可以举个例子吗?没看明白
追答你的问题描述不太清楚,不好举例子。
把你用到的两个表各自贴几条数据出来看看,然后造几条你希望得到结果的数据样子看看
热心网友
时间:2023-10-26 16:07
问题不明如下:
1、是不是一次插入多条数据,ID自增,第二个字段为固定值,第三个字段为另一表中的字段?
2、自增ID是手动赋值还是由序列生成?
3、A表取出的固定值是否可以用常量代替?追问1、一次插入多条数据
2、由序列生成
3、A表取出的可以使用常量代替
4、A表与另一个表现在无关联,要刷的表就是这两个表的关系表
追答
按照你说的意思,sdhammer123的回答已经很正确了,不过可以把A.固定值改为你说的常量,这样语句就可以修改为
insert into 目标表
select 自增ID.nextval,常量值,(select 多值 from 另一个表 where 条件=A.条件)
from al