如何使用oracle apex根据上传的csv文件列标题动态创建表

     2023-03-27     257

关键词:

【中文标题】如何使用oracle apex根据上传的csv文件列标题动态创建表【英文标题】:How to create table dynamically based on the uploaded csv file column header using oracle apex 【发布时间】:2014-02-05 14:34:55 【问题描述】:

基于 csv 文件列标题,它应该动态创建表,并将该 csv 文件的记录插入到新创建的表中。 例如:

1) 如果我上传一个包含 3 列的文件 TEST.csv,它应该动态创建一个包含三个列的表 2)如果我再次上传一个名为 TEST2.csv 的新文件,它有 5 列,它应该动态创建一个有 5 列的表。

每次都应该根据上传的csv文件头创建一个表..

如何在 oracle APEX 中实现这一点..

提前致谢..

【问题讨论】:

【参考方案1】:

在不创建新表的情况下,您可以使用可以从中选择的 TABLE 函数将 CSV 视为表。如果你从the Alexandria Project 下载包,你会发现一个函数可以在 CSV_UTIL_PKG 中完成这个任务(clob_to_csv 是这个函数,但你会在这里找到其他好东西)。

您只需上传 CSV 并将其存储在 CLOB 列中,然后您就可以使用 CSV_UTIL_PKG 代码在其上构建报告。

如果您必须为上传创建一个新表,您仍然可以使用此解析器。上传文件,然后只选择第一行(例如 SELECT * FROM csv_util_pkg.clob_to_csv(your_clob) WHERE ROWNUM = 1)。您可以使用 APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY 将此行插入到 Apex 集合中,以便轻松遍历每一列。

您需要确定每列的数据类型,但可以对所有内容都使用 VARCHAR2。

但是,如果您只是使用通用列,则可以轻松地将一个附加列存储为该记录集合的名称,并将所有上传的内容存储在同一个表中。只需构建另一个表来存储列名。

【讨论】:

【参考方案2】:

如果结构是“动态的”,只需将此文件存储为 BLOB。 您也可以在此用例中使用 XML 数据类型,但它与 BLOB 列没有太大区别。 从 11g 开始就有 SecureFile 特性,它是一个新的 BLOB 实现,它比常规 BLOB 执行得更好,它适用于非结构化或半结构化数据。

【讨论】:

如何在 Oracle APEX 中设置 SPOOL 脚本以将视图数据导出为 CSV?

】如何在OracleAPEX中设置SPOOL脚本以将视图数据导出为CSV?【英文标题】:HowcanIsetupaSPOOLscriptinOracleAPEXtoexportviewdataasaCSV?【发布时间】:2012-05-1518:23:42【问题描述】:我在APEX中有一个视图,我想将它作为CSV文件导出到驱动器(该文... 查看详情

将 CSV 文件加载到 Oracle 表中

...eTable【发布时间】:2010-11-2205:17:48【问题描述】:我正在使用OracleApEx,我想知道将单列csv文件上传到Oracle表中以在ApEx中使用的最佳方式是什么?谢谢。【问题讨论】:Oracle:ImportCSVfileusingSQLPLUS的可能重复【参考方案1】:我和你... 查看详情

如何在 Oracle Apex 中创建包含文件的列表

】如何在OracleApex中创建包含文件的列表【英文标题】:HowtocreateacolumntablethatholdsafileinOracleApex【发布时间】:2020-07-1518:27:44【问题描述】:我在OracleApex中创建了一个带有表单的报告,对于这个报告,我使用了一个有5列的表,其... 查看详情

Oracle APEX - 将隐藏的 SQL 查询下载到 CSV

...钮,该按钮将下载我作为CSV文件引用的完整表格。我无法使用交互式报告>操作>下载CSV,因为交互式报告有隐藏列。我需要all列来填充CSV文件。有没有办法创建SQL脚本并在按 查看详情

如何在 Oracle Apex 中“静态”指定 BLOB 下载的文件名?

】如何在OracleApex中“静态”指定BLOB下载的文件名?【英文标题】:Howto"statically"specifyafilenameforBLOBdownloadinOracleApex?【发布时间】:2014-11-0113:33:26【问题描述】:我在OracleApex中使用“文件浏览...”类型的页面项。我可以将... 查看详情

如何从 Jmeter 发送 csv 文件上传请求

】如何从Jmeter发送csv文件上传请求【英文标题】:HowtosendacsvfileuploadrequestfromJmeter【发布时间】:2021-05-0814:18:44【问题描述】:我有一个请求,其中用户上传了一个csv文件,然后根据一些标准对该文件进行验证。我已经捕获了来... 查看详情

如何在 Javascript 或 Apex 中检查受限文件

】如何在Javascript或Apex中检查受限文件【英文标题】:HowtocheckrestrictedfileinJavascriptorApex【发布时间】:2018-10-3015:20:19【问题描述】:在上传文件时,我们需要验证文件是有效文件还是被OWASP限制的文件。允许的文件类型:txt,ppt,ppt... 查看详情

如何根据替换字符串在 Oracle Apex 中调整安装脚本?

】如何根据替换字符串在OracleApex中调整安装脚本?【英文标题】:HowtoconditionaninstallationscriptinOracleApexbasedonasubstitutionstring?【发布时间】:2019-11-0802:02:28【问题描述】:我想根据替换字符串中的值来调整OracleApex安装或升级脚本的... 查看详情

如何使用 Oracle Apex 处理版本控制

】如何使用OracleApex处理版本控制【英文标题】:HowtohandleversioningwithOracleApex【发布时间】:2011-12-1711:39:54【问题描述】:OracleApex很棒。我遇到的最大问题是将它与源代码控制一起使用。通常在进行更改后,整个应用程序都会被... 查看详情

如何在 Oracle Apex 中使用静态 ID 定位图表系列?

】如何在OracleApex中使用静态ID定位图表系列?【英文标题】:HowtolocatethechartseriesusingstaticIDinOracleApex?【发布时间】:2019-11-2213:53:56【问题描述】:我现在正在使用OracleApex构建一个Web应用程序,我想在单击一个按钮后使用Javascript... 查看详情

如何使用 APEX 函数编译 Oracle 包?

】如何使用APEX函数编译Oracle包?【英文标题】:HowtocompileOraclepackagewithAPEXfunctions?【发布时间】:2019-05-0206:27:21【问题描述】:我正在尝试编译我的同事留给我的Oracle包。但是,包装规格。包含一些我的Oracle环境中可能没有构建... 查看详情

Oracle Apex - 根据值的数量显示项目

...户可以在其中更新所有产品信息。根据客户要求,我需要使用物品。问题是,我需要为每个产品显示一个文本字段项目,例如:如果选择了Peter(根据我上面的快照),我需 查看详情

如何在php中上传和解析CSV文件

】如何在php中上传和解析CSV文件【英文标题】:HowtouploadandparseaCSVfileinphp【发布时间】:2011-08-0109:32:00【问题描述】:我想用php上传一个csv文件。文件上传后,我想显示CSV文件的数据。我想要一个如何完成此任务的示例。【问题... 查看详情

如何仅使用 sql 在 apex oracle 的交互式网格中实现选择列表以及 oracle APEX 中可用的内容?

】如何仅使用sql在apexoracle的交互式网格中实现选择列表以及oracleAPEX中可用的内容?【英文标题】:HowcanIimplementaselectlistinapexoracle\'sinteractivegridusingonlysqlandwhat\'savailableinoracleAPEX?【发布时间】:2021-06-0213:29:16【问题描述】:IDMateri... 查看详情

如何使用 csv.DictReader 在 django 中上传和读取 csv 文件?

】如何使用csv.DictReader在django中上传和读取csv文件?【英文标题】:howtouploadandreadcsvfileindjangousingcsv.DictReader?【发布时间】:2014-09-0211:40:21【问题描述】:我正在通过上传读取csv文件并尝试将所有值存储在列表中defupload(request):para... 查看详情

如何使用 Lambda /API Gateway 在 S3 上上传大于 10MB 的 csv 文件

】如何使用Lambda/APIGateway在S3上上传大于10MB的csv文件【英文标题】:HowtoUploadacsvfilelagerthan10MBonS3usingLambda/APIGateway【发布时间】:2020-11-3019:16:20【问题描述】:您好,我是AWS上的新手,我试图在我的存储桶s3上上传一个csv文件,但... 查看详情

如何在 laravel 4.2 中使用带有自定义预过滤器的 AJAX 上传 CSV 文件

】如何在laravel4.2中使用带有自定义预过滤器的AJAX上传CSV文件【英文标题】:HowtouploadaCSVfileusingAJAXwithcustomprefilterinlaravel4.2【发布时间】:2016-01-2219:48:07【问题描述】:我正在使用laravel4.2,目前我不知道如何使用AJAX将csv文件保存... 查看详情

如何使用python修复在bigquery中上传csv文件

】如何使用python修复在bigquery中上传csv文件【英文标题】:Howtofixuploadcsvfileinbigqueryusingpython【发布时间】:2019-01-0709:06:45【问题描述】:通过存储在BigQuery上上传csv文件时,出现以下错误:CSV表遇到太多错误,放弃。行数:5;错... 查看详情