从一个表中选择,插入另一个表oracle sql查询

use*_*451 17 sql oracle select insert

我试图从一个表中选择数据
并将数据插入另一个表

    SELECT ticker FROM tickerdb;
Run Code Online (Sandbox Code Playgroud)

使用OracleSql我试图
从tickerdb表中获取股票代码"GOOG",并将t.ticker
插入到stockdb表中.

从tickerdb表中选择 - >插入到quotedb表中

    INSERT INTO quotedb
    (t.ticker, q.prevclose, q.opn, q.rnge,
    q.volume, q.marketcap, q.dividend, q.scrapedate)
    VALUES (?,?,?,?,?,?,?,?,SYSDATE)
    tickerdb t inner JOIN quotedb q
    ON t.ticker = q.ticker
Run Code Online (Sandbox Code Playgroud)

Kee*_*san 44

从oracle文档中,以下查询更好地解释了它

INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;
Run Code Online (Sandbox Code Playgroud)

你可以阅读这个链接

您的查询如下

//just the concept    
    INSERT INTO quotedb
    (COLUMN_NAMES) //seperated by comma
    SELECT COLUMN_NAMES FROM tickerdb,quotedb WHERE quotedb.ticker = tickerdb.ticker
Run Code Online (Sandbox Code Playgroud)

注意:确保插入和选择中的列根据您的要求处于正确位置

希望这可以帮助!

  • 您可以更新链接吗?如果可能的话,最好在您的答案中引用以避免这种情况。 (2认同)

小智 12

您可以使用

insert into <table_name> select <fieldlist> from <tables>
Run Code Online (Sandbox Code Playgroud)

  • `INSERT INTO table1 SELECT * FROM table2` 在旧的 Oracle10g2 中对我有用,其中 table1 和 table2 具有相同的表模式 (2认同)

小智 8

尝试下面这个查询:

Insert into tab1 (tab1.column1,tab1.column2) 
select tab2.column1, 'hard coded  value' 
from tab2 
where tab2.column='value';
Run Code Online (Sandbox Code Playgroud)