Bash脚本将一个表导出到另一个表

时间:2019-04-29 12:16:22

标签: sql bash oracle

我创建了一个脚本,用于将数据库中的表导出到.csv文件

Array
(
    [id] => 2
    [name] => Joney
    [email] => joney@gmail.com
    [email_verified_at] => 2019-04-29 02:01:03
    [password] => dasDSADASDASDAS
    [status] => Active
    [remember_token] => DSADASd
    [created_at] => 2019-04-29 00:00:00
    [updated_at] => 2018-09-24 02:00:00
    [user_details] => Array
        (
            [id] => 2
            [user_id] => 2
            [address] => Dhampur
            [mobile_number] => 8006009195
            [passport_number] => sasdadasd
            [zip_code] => 201301
            [created_at] => 2019-04-29 06:00:00
            [updated_at] => 2019-04-29 02:00:00
        )

)

,现在我想修改此脚本并将表导出到另一个表中。如何更改我的代码?

1 个答案:

答案 0 :(得分:1)

通过“将表导出到另一个表”,您是说将数据从一个表复制到另一个表吗?如果最初不需要在新表上使用索引,键或其他功能,即如果不用于生产,则非常简单:

#!/usr/bin/bash

TABLE="myOtherTable"
sqlplus -s abcd/abcd@XE  <<EOF       
CREATE TABLE $TABLE as SELECT * FROM myTable;
EXIT

您还可以先执行一条create table语句,将列,键和存储选项指定为其他任何表,然后使用单独的一行执行INSERT INTO $TABLE (SELECT * FROM myTable)来填充从myTable复制的数据