简体   繁体   English

PL / SQL程序中出现错误,警告“缺少或无效的选项”

[英]Getting error in PL/SQL program which alerts “missing or invalid option”

create or replace PROCEDURE PROC_OPE AS 
  FILE_PATH         VARCHAR2(150) := 'd:\OPENTOW_'||trunc(sysdate)||'.csv';                       
  QUERY_STRING      VARCHAR2(100) := 'SPOOL'||FILE_PATH;
  STATUS            VARCHAR2(50)  := 'Withdrawn';
  DATEFORMAT        VARCHAR2(50)  := 'dd/mm/yyyy hh24:mi:ss';
  TIMEFORMAT        VARCHAR2(50)  := 'hh24:mi:ss';
  YES_FLAG          VARCHAR(3)    := 'Yes';
  NO_FLAG           VARCHAR(3)    := 'No';
  BLANK_SPACE       VARCHAR2(1)   := ' ';
BEGIN
  execute immediate 'SET ECHO OFF';
  execute immediate 'SET FEEDBACK OFF';
  execute immediate QUERY_STRING;

I am getting this error 我收到此错误

Error Message:` ORA-00922: missing or invalid option ORA-06512: at "WS", line 12 ORA-06512: at line 2 Process exited. 错误消息:ORA-00922:缺少或无效的选项ORA-06512:在“ WS”的第12行ORA-06512:在第2行进程已退出。

Can anyone please help me? 谁能帮帮我吗?

SPOOL, SET ECHO OFF, SET FEEDBACK OFF - they are all SQL-Plus commands, not SQL commands. SPOOL,SET ECHO OFF,SET FEEDBACK OFF-它们都是SQL-Plus命令,而不是SQL命令。

If you try to run any of them using EXECUTE IMMEDIATE, you will get this error, for example: 如果尝试使用EXECUTE IMMEDIATE运行它们中的任何一个,则会出现此错误,例如:

BEGIN
 execute immediate 'SET ECHO OFF';
END;
/
Error starting at line : 1 in command -
BEGIN
 execute immediate 'SET ECHO OFF';
END;
Error report -
ORA-00922: brakująca lub niepoprawna opcja
ORA-06512: przy linia 2
00922. 00000 -  "missing or invalid option"

Sql-Plus is a client utility. Sql-Plus是一个客户端实用程序。
SQL is a structured query language SQL是一种结构化查询语言

EXECUTE IMMEDIATE accepts ony SQL commands , you cannot run SQL-Plus in EXECUTE IMMEDIATE, they are ony available in SQL-PLus, or (some of them) is SQL-Developer, but not in other clients like JDBC, ODBC. EXECUTE IMMEDIATE只能接受SQL命令 ,您不能在EXECUTE IMMEDIATE中运行SQL-Plus,它们仅在SQL-PLus中可用,或者(其中一些)是SQL-Developer,但在其他客户端(如JDBC,ODBC)中不可用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 为什么我在运行 PL/SQL 过程后会收到此错误:“ORA-00922: missing or invalid option”? - Why am I getting this error: “ORA-00922: missing or invalid option” after running a PL/SQL procedure? 在PL / SQL程序中,我遇到了缺少表达式错误,如下所示 - In PL/SQL program I'm getting Missing expression error as follows PL/SQL:SQL 语句被忽略和 PL/SQL:ORA-00925:缺少或无效选项 - PL/SQL: SQL Statement ignored and PL/SQL: ORA-00925: missing or invalid option ORA-00922:尝试从C#执行PL / SQL时缺少或无效选项 - ORA-00922: missing or invalid option When trying to execute PL/SQL from C# pl /sql set ORA-00922: set serveroutput on 缺少或无效选项; - pl /sql set ORA-00922: missing or invalid option on set serveroutput on; 为什么我在执行 pl/sql 程序时出错? - Why i am getting error while executing pl/sql program? PL / SQL:无效数字错误 - PL/SQL: Invalid Number error “ ORA-00922:缺少或无效的选项” SQL创建表错误 - “ORA-00922: missing or invalid option” SQL create table error SQL错误:ORA-00922:缺少或无效选项 - SQL Error: ORA-00922: missing or invalid option cx_Oracle.DatabaseError:ORA-00922:尝试使用python执行pl / sql时缺少或无效的选项 - cx_Oracle.DatabaseError: ORA-00922: missing or invalid option when trying to execute pl/sql using python
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM