【问题标题】:select from one table, insert into another table oracle sql query从一个表中选择,插入另一个表 oracle sql 查询
【发布时间】:2013-12-14 05:00:01
【问题描述】:

我正在尝试从一个表中选择数据
并将数据插入到另一个表中

    SELECT ticker FROM tickerdb;

我正在尝试使用 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

【问题讨论】:

    标签: sql oracle select insert


    【解决方案1】:

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

    INSERT INTO tbl_temp2 (fld_id)
    SELECT tbl_temp1.fld_order_id
    FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;
    

    你可以阅读这个link

    您的查询如下

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

    注意:确保 insert 和 select 中的列根据您的要求位于正确的位置

    希望这会有所帮助!

    【讨论】:

    • 你能更新链接吗?如果可能的话,最好引用你的答案来避免这种情况。
    【解决方案2】:

    你可以使用

    insert into <table_name> select <fieldlist> from <tables>
    

    【讨论】:

    • INSERT INTO table1 SELECT * FROM table2 在旧的 Oracle10g2 中为我工作,其中 table1 和 table2 具有相同的表架构
    【解决方案3】:

    您将从here 获得有用的信息。

    SELECT ticker
    INTO quotedb
    FROM tickerdb;
    

    【讨论】:

      【解决方案4】:

      试试下面这个查询:

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

      【讨论】:

      • 很好的例子,它还展示了如何在目标表中创建硬编码值。
      猜你喜欢
      • 2018-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多