从文件加载 sql 并在 oracle 中创建它的视图
Posted
技术标签:
【中文标题】从文件加载 sql 并在 oracle 中创建它的视图【英文标题】:Load sql from file and create a view of it in oracle 【发布时间】:2018-03-26 13:28:58 【问题描述】:我的电脑中保存的 sql 文件有问题。我真正要做的是,我可以创建该 sql 文件的视图,人们可以向其中添加额外的表,但核心将始终从我的文件中获取。我创建了一个简单的文件,可以使用 define @"C:\Users\name.surname\Desktop\stock.sql"
将其加载到 SQL Developer 中
但是,我不知道如何使用它或创建它的视图。
尝试了一个简单的方法:
create view VW_MINE AS
select *
from
( @"C:\Users\name.surname\Desktop\stock.sql") X;
但是收到错误Invalid table name
如何处理从文件加载的 SQL?
【问题讨论】:
向我们展示 'stock.sql' 文件中的内容 如果 'stock.sql' 是分隔数据,例如 CSV,您可以创建一个映射到该文件的外部表,然后对其进行查询。通常,当您获得一个 .SQL 文件时,您可以在 SQLDev 中打开它,或者您在工作表中输入 @@C:\Users\name.surname\Desktop\stock.sql 并使用 F5 执行 【参考方案1】:我没有尝试过使用 SQL 开发人员,但这绝对适用于 SQL* Plus。
/*contents of mysqlfile.sql */
select * from hr.employees
DECLARE
sql_file VARCHAR2(32767) := '
@@C:\Users\kaushik\Desktop\stock.sql
';
--read the whole contents of the file into
--a variable. mysqlfile.sql cannot contain an "@" in itself.
--the @@ expression must be in a separate line
BEGIN
EXECUTE IMMEDIATE 'create or replace view myview as ' || sql_file; --execute it dynamically.
END;
/
【讨论】:
谢谢,但我不工作。如果我输入 varchar 变量 sql 语句,那么它可以工作,否则它会显示“缺少 SELECT 语句”以上是关于从文件加载 sql 并在 oracle 中创建它的视图的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Oracle SQL 验证 txt 文件中的日期?
使用 Cordova/Phonegap 保存从手机摄像头拍摄的图像 Windows Phone 7