【达梦数据库(Oracle模式)】如何将视图中的数据导出
在某些情况下,我们需要将生产环境某个模式下的数据导入到开发电脑中,因为正式环境无法连接外网数据。
方式一:将视图查询出来,然后右键导出所有查询结果(不推荐)
优点:方便快捷
缺点:视图如果很多的话,时间耗费就很久了
方式二:新建一个模式,将视图存到新模式的表中导出(推荐)
使用存储模式实现将视图存到另一个模式下
DECLARE
-- 游标用于获取所有视图的名称
CURSOR view_cursor IS
SELECT VIEW_NAME
FROM ALL_VIEWS
WHERE OWNER = 'OLD_MODEL'; -- 获取 INDEX_SYSTEM 模式下的所有视图
-- 用于存储视图名的变量
view_name VARCHAR2(255);
sql_create_table VARCHAR2(4096);
sql_insert_data VARCHAR2(4096);
BEGIN
-- 遍历所有视图
FOR rec IN view_cursor LOOP
view_name := rec.VIEW_NAME;
-- 构造创建表的SQL语句
sql_create_table := 'CREATE TABLE NEW_MODEL.' || view_name || ' AS SELECT * FROM OLD_MODEL.' || view_name;
-- 执行创建表的SQL语句
EXECUTE IMMEDIATE sql_create_table;
-- 构造插入数据的SQL语句
sql_insert_data := 'INSERT INTO NEW_MODEL.' || view_name || ' SELECT * FROM OLD_MODEL.' || view_name;
-- 执行插入数据的SQL语句
EXECUTE IMMEDIATE sql_insert_data;
DBMS_OUTPUT.PUT_LINE('视图 ' || view_name || ' 已成功转存到 NEW_MODEL.');
END LOOP;
END;
/
然后使用数据迁移工具将NEW_MODEL
中的数据导出即可
原文地址:https://blog.csdn.net/qq_43520746/article/details/145210615
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!