簡體   English   中英

SQL(SQL/Oracle) 從 select 語句中插入值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM