[英]SQL(SQL/Oracle) insert value from a select statement
我想从 select 语句中插入 (user_id) 值,如下所示。 此查询能否同时在 sqlserver 和 oracle 上运行? 好心提醒。
insert into b_user (user_id,
user_name,
user_email,
user_address,
user_city,
user_state,
user_country,
user_zip)
values (
select max(user_id) from b_user ,
david brown,
david@david.com,
chicago,
il,
usa,
60007)
不,该查询在 Oracle 或 SQL 服务器中均无效。 但是,您可以根据select
语句进行insert
。 请注意,您还必须将字符串视为字符串并将它们括在引号中。
insert into b_user (user_id,
user_name,
user_email,
user_address,
user_city,
user_state,
user_country,
user_zip)
select max(user_id) user_id,
'david brown',
'david@david.com',
'chicago',
'il',
'usa',
'60007'
from b_user
如果我们在SELECT
语句两边插入括号()
,它就会起作用。 我试过 SQL 服务器,它对我有用。 也许您也可以尝试对 Oracle 进行以下查询。
insert into b_user (user_id,
user_name,
user_email,
user_address,
user_city,
user_state,
user_country,
user_zip)
values (
(select max(user_id) from b_user),
'david brown',
'david@david.com',
'123 davids street',
'chicago',
'il',
'usa',
60007
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.