我的数据库中有数千个表。而不是单独创建脚本来假脱机处理应用程序表中的所有列。我想循环遍历 alltables TABLE 中的所有表,表名称如“TB_%”。
我尝试在我的 Oracle sql Developer 中使用此解决方案,但收到错误消息,表明该表不存在。我不是 SQL 专家,也不熟悉如何用 SQL 对其进行编程。以下是我所做的代码:
set line 400
set pagesize 2000
set colsep |
DECLARE
CURSOR get_all_tables IS
SELECT table_name
FROM all_tables
WHERE table_name like 'TB_%';
BEGIN
FOR i IN get_all_tables
LOOP
spool 'C:\documents\script\' || i.table_name || '.txt'
execute immediate 'select * from ' || i.table_name;
spool off;
END LOOP;
END;
我想要的是,对于在 all_tables 中找到的每个具有表_name(例如 'TB_%')的表,应该创建一个文件,其假脱机文件名等于表名。并且,它应该假脱机显示每个表的所有列。谁能帮我检查一下我所做的代码吗?
谢谢你
spool
是一个SQL*Plus命令,不能在PL/SQL中使用它。
转到“工具”菜单并选择“数据库导出”
INSERT INTO
在“要导出的类型”中,仅选择表格
CREATE TABLE
INSERT INTO
)