当前位置: 首页> 文旅> 美景 > 淮北论坛人才招聘网_色母粒_企业营销策略分析论文_114黄页

淮北论坛人才招聘网_色母粒_企业营销策略分析论文_114黄页

时间:2025/7/12 23:21:06来源:https://blog.csdn.net/m0_74824517/article/details/145897108 浏览次数:0次
淮北论坛人才招聘网_色母粒_企业营销策略分析论文_114黄页

数据库课上布置了一个作业

利用PL/SQL语言,编写一个存储过程实现针对单张表的数据导出功能,要求将给定表的数据转换成SQL语言的Insert语句,并保存在文件中。该过程以要导出的表名和保存SQL语句的文件名为参数。

在网上尝试搜索了一下,中文网里没找到合适的参考文章,要么是针对特定表结构,要么是只导出特定数量的列,于是自己完成后写篇记录。

首先需要定义一个导出目录,这里定义了“EXPORT_DIR”

CREATE DIRECTORY EXPORT_DIR AS 'D:/';

然后创建存储过程,其中,BEGIN后的第一行有用到刚刚定义的导出目录,如果定义的导出目录与我不同,那么请修改这一行的导出目录。

 CREATE OR REPLACE PROCEDURE EXPORT_CONT(
p_table_name     VARCHAR2, -- table name
p_file_name     VARCHAR2 -- filename
)
ASl_cursor_handle  INTEGER;l_dummy              NUMBER;l_col_cnt          INTEGER;l_rec_tab            DBMS_SQL.DESC_TAB;l_current_col      NUMBER(16);l_current_line   VARCHAR2(2047);l_column_value   VARCHAR2(300);l_file_handle      UTL_FILE.FILE_TYPE;l_print_text       VARCHAR2(100);l_record_count   NUMBER(16) := 0;BEGIN--------------- 如果定义的目录不是EXPORT_DIR,那么请修改这一行l_file_handle := UTL_FILE.FOPEN('EXPORT_DIR', p_file_name, 'a', 2047); l_cursor_handle := DBMS_SQL.OPEN_CURSOR;DBMS_SQL.PARSE(l_cursor_handle, 'SELECT * FROM '|| p_table_name, DBMS_SQL.native);l_dummy := DBMS_SQL.EXECUTE(l_cursor_handle);DBMS_SQL.DESCRIBE_COLUMNS(l_cursor_handle, l_col_cnt, l_rec_tab); l_current_col := l_rec_tab.FIRST;IF (l_current_col IS NOT NULL) THENLOOPDBMS_SQL.DEFINE_COLUMN(l_cursor_handle, l_current_col, l_column_value, 300);l_current_col := l_rec_tab.NEXT(l_current_col);EXIT WHEN (l_current_col IS NULL);END LOOP;END IF;LOOPEXIT WHEN DBMS_SQL.FETCH_ROWS(l_cursor_handle) = 0; l_current_line := 'INSERT INTO ' || p_table_name || ' VALUES (''';FOR l_current_col IN 1..l_col_cnt LOOPDBMS_SQL.COLUMN_VALUE (l_cursor_handle, l_current_col, l_column_value);l_print_text := l_column_value || ''',''';IF l_current_col =l_col_cntthenl_current_line := l_current_line || l_column_value || ''');';ELSEl_current_line := l_current_line || l_column_value || ''',''';END IF;END LOOP;l_record_count := l_record_count + 1;UTL_FILE.PUT_LINE (l_file_handle, l_current_line);END LOOP;UTL_FILE.FCLOSE (l_file_handle);DBMS_SQL.CLOSE_CURSOR(l_cursor_handle);END;

运行存储过程(需要将第一个参数修改为自己想要导出的表名)。

call EXPORT_CONT('PROJECTS_110', 'proj.sql');

在导出目录下找到对应文件,确定内容确实为表的数据。

INSERT INTO PROJECTS_110 VALUES ('CXCY20231010','创新项目','校级','基于AI的智能诊断系统','8208220101','S001','5000','01-1月 -23','31-12月-23');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023001','创新项目','校级','基于AI的智能诊断系统','8208220101','S001','5000','01-1月 -23','31-12月-23');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023002','创业项目','省级','智能家居控制系统','8208220105','S001','12000','01-3月 -23','28-2月 -24');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023003','创新项目','国家级','新能源材料研究','8208220110','S001','25000','01-6月 -23','31-5月 -24');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023004','创业项目','校级','校园智能无人超市','8208220115','S001','8000','01-7月 -23','30-6月 -24');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023005','创新项目','省级','农业智能检测系统','8208220120','S001','15000','01-9月 -23','31-8月 -24');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023006','创新项目','校级','智能校园管理平台','8218220110','S002','6000','01-1月 -23','31-12月-23');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023007','创业项目','省级','电商平台优化系统','8218220115','S002','14000','01-2月 -23','31-1月 -24');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023008','创新项目','国家级','无人驾驶控制系统','8218220120','S002','30000','01-5月 -23','30-4月 -24');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023009','创业项目','校级','高效能太阳能发电板','8218220125','S002','10000','01-7月 -23','30-6月 -24');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023010','创新项目','省级','智慧交通管理系统','8218220129','S002','18000','01-9月 -23','31-8月 -24');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023011','创新项目','校级','AI驱动的医学影像分析','8228220101','S003','7000','01-1月 -23','31-12月-23');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023012','创业项目','省级','工业机器人优化系统','8228220105','S003','13000','01-3月 -23','29-2月 -24');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023013','创新项目','国家级','深度学习与计算机视觉研究','8228220110','S003','28000','01-6月 -23','31-5月 -24');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023014','创业项目','校级','虚拟现实教学系统','8228220115','S003','9000','01-7月 -23','30-6月 -24');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023015','创新项目','省级','智慧医疗平台','8228220120','S003','16000','01-9月 -23','31-8月 -24');
INSERT INTO PROJECTS_110 VALUES ('CXCY2023075','创新项目','省级','智慧医疗平台','8228220120','S003','16000','01-9月 -23','31-8月 -24');
关键字:淮北论坛人才招聘网_色母粒_企业营销策略分析论文_114黄页

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: