首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL脚本: ORA-01790

SQL脚本: ORA-01790
EN

Stack Overflow用户
提问于 2019-01-18 00:34:35
回答 1查看 32关注 0票数 1

我正在编写一个脚本,用于从Powerschool数据库中提取三个字段,并将信息假脱机到一个.csv文件中。这是六个脚本系列中的最后一个,除了它们针对不同的字段之外,这些脚本基本相同。在所有其他脚本中,我使用以下代码从文件所在的供应商处获取符合.csv规范的"header“行:

代码语言:javascript
运行
复制
SELECT
    'school_id,student_id,email,first_name,last_name,Grade'
FROM
    Dual
UNION ALL

其他五个文件都可以完美地工作。但是,由于某些原因,最后一个生成了错误ORA-01790。我找不到这个脚本和所有其他脚本之间的区别。你们觉得怎么样?下面是生成错误的完整脚本:

代码语言:javascript
运行
复制
set heading off
set pagesize 0
set linesize 400
set feedback off
set underline off
set trimspool on
SET LONGCHUNKSIZE 1024
SET LONG 10000
spool d:\psmajorclarity\csv\mcguardianexport.csv
SELECT
    'student_id,guardian_email,guardian_email2'
FROM
    Dual
UNION ALL
SELECT
  student_number || ',' ||
  guardianemail || ',' ||
  guardianemail
FROM students
WHERE Grade_Level>=6
AND Grade_level<=12;
SPOOL off
EXIT;

其中Student_number为浮点型数据类型,卫士邮箱为CLOB类型。

下面是一个功能齐全、执行正常的脚本:

代码语言:javascript
运行
复制
set heading off
set pagesize 0
set linesize 400
set feedback off
set underline off
set trimspool on
SET LONGCHUNKSIZE 1024
SET LONG 10000
spool d:\psmajorclarity\csv\mcstudentexport.csv
SELECT
    'school_id,student_id,email,first_name,last_name,Grade'
FROM
    Dual
UNION ALL
SELECT
  schoolid || ',' ||
  student_number || ',' ||
  NULL || ',' ||
  first_name || ',' ||
  REPLACE(last_name,',') || ',' ||
  grade_level
FROM STUDENTS
WHERE Grade_Level>=6
AND Grade_level<=12;
SPOOL off
EXIT;
EN

回答 1

Stack Overflow用户

发布于 2019-01-18 00:47:18

我似乎已经解决了我的问题。

我改变了这一点:

代码语言:javascript
运行
复制
SELECT
        'student_id,guardian_email,guardian_email2'
    FROM
        Dual
    UNION ALL
    SELECT
      student_number || ',' ||
      guardianemail || ',' ||
      guardianemail

要这样做:

代码语言:javascript
运行
复制
SELECT
    'student_id,guardian_email,guardian_email2'
FROM
    Dual
UNION ALL
SELECT TO_CHAR
  (student_number || ',' ||
  guardianemail || ',' ||
  guardianemail)

这使得.CSV文件可以正常生成。我猜电子邮件字段是一个CLOB,所以这是必要的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54240384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档